Will an AI Chatbot ever be able to walk us through app building with Backendless?

Hello, I am wondering - are there plans to introduce an LLM that can mentor Backendless developers as we build our sites?

The reason I ask about this is that I’ve noticed how good ChatGPT is at offering coding advice for widely used languages like JavaScript any Python. So I got curious how well ChatGPT can advise regarding building a Backendless site. I asked GPT-4o mini, and here’s how that conversation went:


Me:

Hello! How knowledgeable are you regarding the “no-code” and “low-code” web development platform called Backendless?

One aspect in particular I would like to know is: can you give code examples for the Blockly implementation that Backendless uses?

Backendless uses Google Blockly for visual programming. But I’m not sure if you are trained on it. If you are trained on it, and are able to provide me with serialized blocks of code, I’m not sure if I will be able to insert those into Backendless.

As a starting point, I would just like you to tell me how familiar you are with Backendless and Blockly, and to what extent you can offer coding help regarding this visual programming environment.


ChatGPT:

Hello! I’m familiar with Backendless and its implementation of Google Blockly for visual programming. Backendless is a powerful backend-as-a-service (BaaS) platform that allows developers to build applications quickly without the need for extensive coding knowledge, thanks to its no-code and low-code features.

Google Blockly is a library that provides a visual programming editor, allowing users to create code by stacking blocks together. It generates code in various programming languages based on the blocks used.

While I can’t provide actual serialized blocks ready to be inserted into Backendless, I can guide you on how to create custom blocks and interact with the Backendless API using Blockly. I can also provide examples of how to work with Blockly in general to help you understand how to use it within Backendless.

If you have specific functionalities in mind that you’d like to create or any particular blocks you’re interested in, feel free to ask, and I can help you with that!


Me:

Thanks! For example, if I want to add functionality to a Backendless site that allows users to create their own profiles, what would be the steps for implementing this?


ChatGPT:

To implement user profile creation functionality in a Backendless application, you can follow these general steps:

Step 1: Set Up Backendless

  1. Create a Backendless Account: If you haven’t already, sign up for a Backendless account.
  2. Create a New Application: Once logged in, create a new application in the Backendless dashboard.

Step 2: Define User Profiles Data Structure

  1. Create a Data Table for Profiles:
    • In the Backendless dashboard, navigate to the “Data” section.
    • Create a new table, for example, named UserProfiles.
    • Define the columns for the user profiles, such as:
      • username (String)
      • email (String)
      • bio (String)
      • profilePicture (File) - for storing user-uploaded images

Step 3: Set Up User Registration

  1. Enable User Registration:

    • Backendless provides built-in user management.
    • Make sure user registration is enabled in the “User Management” section.
  2. Create a Registration Form:

    • Design a registration form on your frontend (the client-side).
    • Collect user information such as username, email, and password.
  3. Use Backendless API for Registration:

    • When a user submits the form, call the Backendless user registration API.
    • Example Code (JavaScript):
      Backendless.User.register({
        username: "user123",
        email: "user@example.com",
        password: "password123"
      })
      .then(function(response) {
        console.log("User registered successfully", response);
      })
      .catch(function(error) {
        console.error("Error registering user", error);
      });
      

Step 4: Allow Users to Create Profiles

  1. Create a Profile Creation Form:

    • After registration, direct users to a profile creation page.
    • Collect additional details (bio, profile picture, etc.).
  2. Save Profile Data:

    • Once collected, use the Backendless API to save the profile information in the UserProfiles table.
    • Example Code (JavaScript):
      const profileData = {
        username: "user123",
        email: "user@example.com",
        bio: "Hello, I am user123!",
        profilePicture: "path/to/image.jpg" // Assume an image is uploaded first
      };
      
      Backendless.Data.of("UserProfiles").save(profileData)
      .then(function(savedProfile) {
        console.log("Profile created successfully", savedProfile);
      })
      .catch(function(error) {
        console.error("Error creating profile", error);
      });
      

Step 5: Implement Profile Viewing and Editing

  1. Retrieve and Display Profiles:

    • Use a query to retrieve user profiles from the UserProfiles table and display them on the frontend.
    • Example Code (JavaScript):
      Backendless.Data.of("UserProfiles").find()
      .then(function(profiles) {
        console.log("Retrieved profiles", profiles);
        // Implement logic to display profiles on the page.
      })
      .catch(function(error) {
        console.error("Error retrieving profiles", error);
      });
      
  2. Allow Editing:

    • Create an edit form to update existing profiles, using the Backendless API’s update method.

Step 6: Testing and Deployment

  • Test all functionalities, including user registration, profile creation, and profile viewing/editing.
  • Once everything works as expected, deploy your application.

By following these steps, you can implement a user profile management system in your Backendless application. If you need more specific examples or guidance on a particular part, just let me know!


Conclusions

As you can see, ChatGPT does have a basic understanding of Backendless, but since it has not been trained on the visual programming aspects, it is limited in how much help it can offer. For example, it doesn’t have examples of serialized block configurations in its data set. It tries to make up for its inability to do visual programming by relying of what it does know - traditional programming.

I feel like this represents a huge opportunity. If the Backendless team could train your own LLM with examples of how to construct a Backendless app, it could give new developers the confidence they need to jump into their first projects, and also help free up Backendless staff from forum Q&A.

Since Backendless already licenses ChatGPT for developers to build into their projects, I feel like extending this as a teaching tool in the workflow is a natural next step.

Hopefully it could be free, at least up to a certain token threshold. I’m sure you could figure out a way for it not to be too costly.

Training data could be pulled from sources like:

  • The REST API Documentation
  • The Missions tutorials
  • Support Forum interactions
  • YouTube tutorial transcripts
  • Serialized Blockly examples

The LLM could bring its existing knowledge of:

  • HTML
  • CSS
  • JavaScript
  • React
  • Various other database and web technologies I haven’t even considered

I’ve never trained an LLM before, so I don’t know how much work this would entail. But I imagine investing in it could result in big mutual win for developers and the Backendless team alike.

It’s just an idea though. What do you think?

Hello @Causality

Thank you for your suggestion. We will discuss it with the team and notify you if it is included in our roadmap.

Regards, Dima.

Update:

We do not have any plans to train a model to assist with Backendless training.

But thank you for the suggestion.

Thanks for considering it. And thanks for the reply. :+1: