If you need to build a custom plugin, the best method I’ve found is using Google Gemini 2.5 Pro with custom Gems.
Here’s the workflow I use for custom work in tools like Bubble, Supabase, or WeWeb:
- Create a Google Doc Documentation Dump
I start by setting up a Google Doc where I drop all relevant documentation—no particular structure, just a raw dump of everything the AI might need. It doesn’t need to be polished; Gemini can parse unstructured info effectively.
- Set Up a Custom Gemini Gem
I create a custom Gemini Gem and link it to the documentation file. The base prompt is minimal—just some high-level instructions and the desired output format—since all the detailed context is already in the doc.
- Generate and Refine Code
Gemini typically gets it right on the first try. After that, I iterate as needed to fix bugs or make adjustments. This approach has worked incredibly well for labor-intensive coding tasks.
This method has proven to be a fast and efficient way to create custom plugins and UI elements. Today I created a custom rich text editor with Quill because all the rich text editors I tried in the marketplace had one bug or another that made them unfit for purpose. Gemini created working code first try, stepped me through every step of setup, debugged 10 minor bugs (and delivered working code that never threw an error for all 20 iterations).
Hope this helps someone working on custom solutions in Bubble. I’ve created custom gems for bubble plugins, the toolbox plugin, custom weweb elements, weweb formulas, n8n formulas, supabase… it’s a super powerful way to speed up your work. Once the AI has access to all the docs and several examples it is super reliable and doesn’t hallucinate nearly as much. It really cuts down on all the back and forth you’d have to do with the generic AI chat.
2 Likes
Thanks for sharing!
My go to has been Bask with Cursor, but Cursor is starting to get a bit drunk with power and implementing stupid pricing so I’m not sure how much longer I’ll use them.
Mechanically, are you copying and pasting code from the plugin editor to a Gemini chat and vice versa or is there an extension/tool that let’s you use Gemini directly in the editor itself?
I copied all the content from bubbles support documentation for the plugin plus the hints from the custom plugin editor plus several working examples of plugins (just forked an existing plugin to view the base code).
I just dump all that into 1 google doc and connect it to the custom gem.
Gemini is very good at keeping it’s place in versioning. It’ll only rewrite the update function and return that if that’s the only part of the stack that needs a change. I keep it all in 1 conversation and gemini keeps track of all the versions in there - it’s very good at keeping its place and not trying the same solution several times.
Yesterday I was trying to work around a bubble platform limitation for a custom plugin (I couldn’t, it was a bubble editor restriction) and gemini tried 6 different solutions with prompting and then said it had exhausted all options and it must be an issue in how the bubble editor is rendering the code because all its solutions were technically correct but being overridden by something specific to bubble.
It’s also included in the google workspace license so no crazy pricing. Knowing google it’ll likely stay that way.
What I meant was how do you get the output from Gemini into the Bubble plugin editor?
With my setup (Bask + Cursor), the changes are made in an IDE and Bask bundles and pushes it to Bubble, so I don’t need to copy and paste it into the web based plugin editor. I’m wondering if there’s an extension or something that allows you to work with Gemini in the plugin editor tab and updates the code directly (I’m just lazy, really
)
Either way, I’ll give it a go because my current setup is $30 a month