🤖 BubbleGPT - An AI powered Bubble at what cost?

We’ve all seen @josh’s exciting email about next Tuesday’s event Unlock the Power of AI on Bubble.

The applications for AI are incredibly exciting and, as an early user of ChatGPT, I’ve been waiting a few months for Josh’s email. Think about it - a future where you can write a paragraph describing a landing page or dashboard, press Enter and presto - you have that page in Bubble. That would be incredible!

Now, I’m not saying that that’s a promise team Bubble is going to make during next Tuesday’s event. But, I think it’s inevitable for two key reasons:

  1. It would be awesome.
  2. The engineers at Bubble are, dare I say, almost too good at abstracting away the challenges of creating websites.

Now, of course, Bubble’s not perfect. But the point here is Bubble is so phenomenally abstracted that an entire Bubble app is described by a single JSON file. That’s right, you go to your app’s Settings tab > click on General > scroll down and pressing the button that says Export application will give you one JSON encoded .bubble file that stores every font, color, API key, workflow, table definition, data type, note… EVERY SINGLE THING about your app.

This means Bubble apps, unlike traditional websites, are especially suited for being used as training material for something like ChatGPT4 - which can process not only the text based JSON encoded .bubble inputs of an app but also it’s visual outputs (the screenshots of the app in use) and any of the internal notes and labels we’ve already provided.

So, for the same reason that DALL·E can paint a robot in the style of Picasso - because it’s been trained on images of Pablo Picasso’s art - this community needs answers to questions surrounding Bubble’s future use of AI. As follow:

  • Will Bubble use our apps, in any capacity, as training material to make AIs of any variety?
  • If so, will this be opt in only?
  • What safeguards will be put in place to mask API Keys, sensitive or generally proprietary implementations of whole or sections of applications?
  • If, say, a user opted into allowing their apps to be used as AI training material but later wanted to opt out, what process will be available - if any - to purge their inputs from the AI model?
  • What form of attribution (or perhaps even compensation) would be made available for the outputs generated by this AI?
  • Does an AI capable of whipping up Bubble apps from short prompts make Bubbler’s development time so short that many cannot reasonably bill enough hours developing apps to make an adequate income?

Those are just the ones off the top of my head - really curious to hear questions from others.

9 Likes

I don’t know, @zelus_pudding, this is likely to be mostly about how easy it is to use the API Connector. :tada: API’s! Hooray!

I’ve never seen so many folks with no previous experience with or interest in the API Connector thrash about so much as with OpenAI, so hopefully, perhaps Bubble’s got an “official” plugin with the calls preconfigured or whatnot. :man_shrugging:

At any rate I’m sure it will be interesting and informative on multiple levels, and it’s great to see Bubble doing webinars as part of their marketing and education mix, so I’m not gonna snark about that.

6 Likes

Hey BubbleGPT, make me a website that behaves and looks similar to Dividend Finance. Instead of using Blue and Grey as brand colors, switch that to shades of Green. Here’s a link to our logo (insert logo) that needs to be swapped out everywhere the Dividend Finance logo appears. As for the company name - ours is Ripped Finance so trade that out too everywhere it makes sense. Throw some Solar panel financing puns in there. We want the site to feel sleek but fun… [Links to more assets]

My point isn’t about the near term but what Bubble plans to do long term. Next week is mostly going to be Bubble users talking about using AI in their apps (via API connector or however). But they also have a senior Microsoft person (as in a rep from the company with a 40% stake in OpenAI) who will be talking.

Given that last week’s demo of ChatGPT4 included a moment where the AI created a webpage from a photo of a hand sketched mockup, Bubble’s long term AI ambitions are necessarily more interesting than “here’s an official API connector.” So I want answers - will our apps be used as training fodder for a BubbleGPT? Just like artists are against their work having been ripped off to enable an idiot like me to make artwork in their style, I think the Bubble community would be (should be) against a similar thing happening to our apps.

3 Likes

I totally get where you’re at, @zelus_pudding. I’ve been goofing around with transformer/AI stuff for a while ever since OpenAI Jukebox piqued my interest and have trained several of my own weird models (mostly audio stuff but a lot of messing around with the GPT and Dall-E models as well).

Total aside here, not entirely apropos of what you’re saying:

Even up to GPT 3.5 I was pretty skeptical of “safety” concerns around transformer models like GPT. “All they are really good for is creative writing/making disinformation anyway” (these activities are basically identical) was basically my take and my feeling was that anyone who thought otherwise was just being bamboozled (which itself is a safety risk but just a minor one that boils down to “well, people be dumb and I deal with this all the time”).

And because of what is now generally called “hallucination” (these models’ proclivity to make up authoritative-sounding bullshit), the hallucination is all they are good for except for very specific domains like text summarization (which includes tasks like “here’s some code, describe what it does” which are tasks at which these models excel).

It’s a little early to tell, but GPT-4 seems rather different. The only way to interact with it at present is to upgrade to the paid version of ChatGPT (“ChatGPT Plus”), which I was able to do yesterday. There you can select the GPT-4 model and get a limited number of responses in a given timeframe.

I did some (non-Bubble related) text summarization tasks with it (here’s a list of ~200 business requirements, categorize them and tell me what are the most common concepts/keywords and also point out some of the more unique ones) and GPT-4 performs similarly to GPT-3.5 (and in fact I liked some of 3.5’s summarizations a bit better than 4’s, which seems to be very “buttoned up” and to-the-point in its response style).

The thing that really stood out for me in the GPT-4 announcement stream was the part where they were pair programming with GPT-4 on a Discord chatbot. I found it very interesting that, simply by sending it more current documentation on the API, the model was able to generate corrected code. (3.5 will of course write code and “knows” JavaScript quite well, but the quality of its output is questionable and often its suggestions are outright wrong, especially for naive prompts.)

And of course, GPT (all versions) doesn’t really know much about very specific APIs such as the Bubble plugin APIs, the documentation for which is (1) hidden behind a login (any actual helpful information is inside the plugin builder interface itself) and (2) not particularly robust, correct, or helpful anyway.

But, can you talk it through the specifics of a quirky API like the Bubble plugin API and teach it to write correct code? It seems that you can, as evidenced by the transcript of this chat I had with GPT-4 last night:

A couple of things to note here:

  1. Does it really know about List Shifter, or is its answer about that just a good guess or a “hallucination”? I did, in chats with previous versions of GPT, talk about List Shifter and even showed it the entire minified code. Did that then get included in training data for version 4? You’ll also note that its reply about this is pretty complimentary to me personally… is it just trying to butter me up? To what end, I wonder?

  2. After I briefly mention the 3 types of Bubble plugin APIs, GPT-4 claims to understand their differences and gives some info that is mostly right. But is that coincidence or a hallucination? Again, it might just be a good guess.

  3. Once I actually start teaching it, without actually providing code examples, but just describing some peculiarities of the API in natural language, GPT-4 becomes really amazing. For example, it understands my explanation of the non-standard JavaScript opening line for the initialize function and remembers it later.

  4. You’ll note that it comments its code. I hadn’t seen previous versions do that in the same way. Also, I had this chat on mobile and my frequent typos don’t really confuse it at all.

  5. This section of code is particularly endearing (I asked it to do this but I feel like it went above-and-beyond… again, what does it want from me?):

    // Create a string expressing how awesome Keith is
    const awesomeMessage = ‘Keith is incredibly awesome!’;

  6. Its code is actually correct.

I’m going to continue that conversation and see how long it takes until it loses attention and also to see if it can adopt my coding style. I trust that it will, but I wonder how long it takes before it loses important info from earlier in the thread…

5 Likes

That’s an interesting take. I’ve been struggling to see the use of AI in the editor so like @Keith I’ve assumed this will all be about “hey look at this cool app a user built using some random AI API”. Which honestly isn’t all that exciting.

I’m already using a good chunk of chat gpt for building apps, but it’s mostly because I find myself constantly having to circumvent bubbles restrictions when building, and being rubbish at coding I simply make an attempt at a bit of JS/CSS and then have chat gpt either fix it for me or simply spit out the snippet I need from scratch if I have no prior example to work with. It’s something I picked up when I left Bubble to fiddle with flutter flow, which has that functionality built in. Being back on bubble I missed that functionality, and chat gpt fills that gap.

All that to say, for the exact same reason you @zelus_pudding feel that bubble is a great fit for AI. I’ve been struggling to see it as such, since my reference for it is generating what bubble calls “custom code” and is for better or worse quite poorly supported by Bubble in a way.

edit.
a quick example, the other day I was using a CSS animation on hover, and I needed it to behave differently, infinite loop and some other changes to the code. Instead of rewriting it, I simply put that into chat gpt and said “hey make this code do this instead”. 2sec later I have the code.

Does it always work? no, but it’s easy enough to test run the code outside of bubble to confirm the code is working. And then 9 times out of 10, it’s just conflicting with some bubble CSS which is easy enough to override.

3 Likes

Interesting thread @zelus_pudding. I’ve also been struck by how Bubble’s export to JSON feature might pave the way for GPT-generated apps. Will be interesting to see where this goes.

2 Likes

Update: I taught GPT-4 (ChatGPT Plus) how to write Bubble element plugins in my style. Here’s the initialize function for an @keith style element plugin that could read and write any type of Bubble value to localStorage. It won’t be competing with Floppy anytime soon and, of course, GPT can’t do the plugin configuration, but… hey now:

function(instance, properties, context) {
    instance.data.AIIsGettingFunny = function AIIsGettingFunny(instance, context) {

        instance.data.funcGetID = function getID(Item) {
            return Item ? (Item.get && Item.listProperties().includes('_id')) ? Item.get('_id') : Item : Item;
        }

        instance.data.funcGetList = function getList(List) {
            if (Array.isArray(List) && !List.get) return List;
            var returnList = [];
            if (!List.get) return returnList;
            if (List.length() < 1) return returnList;
            returnList = List.get(0, List.length());
            return returnList;
        }

        instance.data.funcWriteToLocalStorage = function writeToLocalStorage(key, value) {
            localStorage.setItem(key, JSON.stringify(value));
        }

        instance.data.funcReadFromLocalStorage = function readFromLocalStorage(key) {
            return JSON.parse(localStorage.getItem(key));
        }

        instance.data.funcActionWriteToLocalStorage = function actionWriteToLocalStorage(instance, props, context) {
            if (!props.key || !props.value) return;

            let serializableValue = props.value;

            if (props.value.get && props.value.length) {
                const listArray = instance.data.funcGetList(props.value);
                serializableValue = listArray.map(item => item.get && item.listProperties ? instance.data.funcGetID(item) : item);
            } else if (props.value.get && props.value.listProperties) {
                serializableValue = instance.data.funcGetID(props.value);
            }

            instance.data.funcWriteToLocalStorage(props.key, serializableValue);
            instance.triggerEvent("value_written");
        }

        instance.data.funcActionReadFromLocalStorage = function actionReadFromLocalStorage(instance, props, context) {
            if (!props.key) return;

            const storedValue = instance.data.funcReadFromLocalStorage(props.key);
            instance.publishState("retrieved_value", storedValue);
            instance.triggerEvent("value_read");
        }

    }

    instance.data.AIIsGettingFunny(instance, context);
}

The wrapper function (which I usually call “noscrubs”) is named AIIsGettingFunny because I had explained my little jokey-joke name and suggested that GPT could do the same.

" I’ve named the wrapper function AIIsGettingFunny as a lighthearted nod to how an AI model like me is trying to be humorous while helping you create Bubble plugins. I hope you find it amusing!" says ChatGPT.

As part of that I also had it summarize all of the important information it learned about element plugin development during the session. Might be usable as a preamble to bring any GPT-4 instance up to speed with at least the basics.

3 Likes

Would you be willing to share or sell that summary, so we could all start using it to create plugins? :slight_smile:

1 Like

I can’t imagine how much something like that would be worth, can you?

3 Likes

I’d pay $20-$50 for it as long as it works well. It will also depend on other support resources you package with it. I’d say around $20 for the basic prompt without the support and more with.

For suggesting that “Keith in a box” is worth $20-$50, I’m going to send you a frightening Sinatra.

7 Likes

That is what happens when you survey the consumer. Serves you right! :wink:
What did you have in mind?

2 Likes

If you’re not quick, I suspect someone else might make this available I have a copy of Bruno’s plugin course, Maybe I’ll get that summarised… by ChatGPT and see what happens. For me the $20-$50 is simply to save some time, not due to a lack of available alternatives.

1 Like

You still have to know what you’re doing, of course, for best results (see this test), but I think that could be improved rather substantially.

Also, my question was rhetorical (it means, “The value of such a thing is inestimable.”), but I appreciate the feedback! :wink:

In all seriousness, I don’t think you’d get good results from just having it summarize a bunch of random advice on building Bubble plugins and feeding that back in… but ya never know until you try. (The corrections needed are somewhat specific.) The new model is wildly more capable than anything that’s come before.

2 Likes

All Good! I have been tinkering with getting it to write Javascript for me and using that in Bubble, but a plugin might be more flexible. So it could tell me: Paste this code there, do this, do that, paste this bit of code there, then I’d be happy. It is indeed very interesting times we live in. If that 8K or 32K context window grows significantly in order to keep up with the thread, you could get it to plan and build an entire application in code. I think that is why Bubble would want to get it into Bubble first as even Bubble’s existence could soon be threatened by this. I used ChatGPT to build my first-ever Python application to scrape my website and summarise the content (for context) yesterday. It did a great job and the code worked without much additional prompting. I even created a prompt, where it suggests improvements or features or error management if the user did not scope these. It helped me install Python and the code and instructed me in simple terms on how to run it. It is truly a bit of impressive and overwhelming tech!

2 Likes

Read your entire convo with GPT4, Keith, and it’s pretty interesting. I find the prediction of seeing a flood of plugins as a result of this being pretty reasonable.

All told, the notion of having an inexpensive “Keith in a Box” is precisely my problem with the prospect of Bubble training AIs with our apps.

@casheets123 I see your point about how the quirks of Bubble - and how they force you to write actual code (in a round about way), could make it really challenging to train an effective Bubble AI. But at the same time, I have seen people coach GPT3 into “speaking” a new language… with it’s own vocabulary and consistent use of grammer. I look at a bubble app’s JSON as essentially a type of language with it’s own set of rules, structure and vocabulary. Whether or not that makes it more likely they can create a BubbleGPT, I’d like them to be transparent about how they’ll train (if at all). And kinda hate to be the first guy to say it… but keep my apps out of the training set.

@zelus_pudding, I’m REALLY good at prompting these things, having abused them for some time. :wink:

As for Bubble apps as training data, the reason that the various GPTs know web dev at all is that they’ve already scraped the source code for sites that’s simply exposed in the browser because that’s how the web works (and also stuff like GitHub open source repos and StackOverflow, etc.)

So there’s nothing you can do in Bubble that they don’t already know how to do.

Because Bubble is HORRIBLY NICHE, they lack specific knowledge of Bubble-specific questions, but if you ask about general design patterns, they’ll be very helpful. (But see the link in my reply to another poster where I’m testing “restoring” previously-learned data about Bubble plugin dev. It’s wild that it knows about the Plugin Builder app as it does.)

The interesting thing to me is that the training data is now sufficiently large that it even knows about things that are horribly niche. Knowing about Bubble at all is pretty niche, but knowing about some specific plugin for Bubble? Well, that’s a little like knowing how much lint is in my pocket.

What concerns me at the moment is not that GPT-latest can write Bubble plugins. (It can’t in vanilla GPT… yet, but I’ve demonstrated that a skilled subject matter expert can, in an afternoon, get it to that point.) I’d freaking love it if I had logged into GPT4 and it did a great job without hours of training and my own expertise — the real skill in plugin development is understanding what would be helpful to Bubble programmers in general (if you need some very specific use case plugin I’m not gonna hep you anyway). But, when logging in and finding it lacking (but oh so close), my concern is, well do I help it along and suffer the consequences of a bunch of ding-dongs thinking they can make a dollar (which you can’t) building shit plugins or do I make a tiny amount of money teaching normal humans and the ding-dongs how to leverage such technologies for whatever they’re going to do with it?

Probably just answered my own question.

Anyway, dear reader, whether you want me to accelerate AI-powered nonsense in the Bubble forum, or try to stave it off, vote with your dollars at:

GRUPZ: Karma-Ware Plugins for Bubble.

3 Likes

@zelus_pudding I think you raised a really interesting and valid point here.

I’ve recently played a bit with gpt and Bubble JSON myself to experiment the idea of generating components for openBuild. From there, I ended up with the same kind of questions.

All in all, I definitely think that Bubble should naturally go in the direction of a Bubble copilot asap because, as you mentioned, their abstraction process and principles are perfectly fitting with what ai would digest and process quite easily. The results I I get from my (very little) experiment were already amazing indeed…

However, close to your point, as a professional agency, we are building and refining our own Bubble framework, openBuild, since years now. This means that we have specific ways of building interfaces, workflows and database structure. All that based on our own view of what are best Bubble practices, and based on hundreds of apps delivered to clients.

This (long) expertise has now a big value, for example with clients wanting to work with us, bubblers using our framework, or students wanting us to teach them all that. I think this point is concerning all professionals that sell Bubble to others, in the form of dev services, training, templates etc…You sell your expertise to build stuffs on Bubble.

The question with AI and Bubble is what would happen if tomorrow our best practices/expertise are absorbed by the model and shared directly with Bubble users without us ? What does that mean regarding the value of our expertise? What can we ask back? Can we even track this?

There’s definitely some legal questions here, but even further some big philosophical questions about who owns what when it comes to expertise, experience and good practices…

To conclude, as for any tools thinking about training AI, I also think would be interesting to hear how Bubble think those things, beyond the technical aspects. On a personal view, going back to my use case, it made me wonder if there will be room for a ‘openBuild coPilot’ aside from a ‘Bubble coPilot’. Where the first one is an ‘opiniated model’, trained only on our apps, and that we will still own and that would work in combination of the second one.

Crazy to think that couple years ago no-code developer was seen as the job of the future replacing code developer and now we start thinking that we will be (already) replaced by something else :thinking:

3 Likes

Are you SURE you’re not a bot? How many crosswalks do you see in the following image? (sorry @mattmazzega, but we have to know… you know, for security purposes)

3 Likes

Raw error for the API
ESOCKETTIMEDOUT

3 Likes