My 8 Bubble best practices as a developer
I believe it is important to understand how I turned to Bubble as a developer and entrepreneur.
- Master in CS - 2011
- Worked for Startups (TaskRabbit) in San Francisco and Paris (Dimelo)
- Growth Hacking / Entrepreneurship at Koudetat from TheFamily
How it started
Before I discovered Bubble I was using different tools to bootstraps ideas : Squarespace, Instapage or WIX.
HackerHouse have been bootstrapped with
2015 – Squarespace
2016 – React + ROR for the backend : payments, invoice and sign-in with linkedin to import user's image + bio
Need a capture...
2019 – Bubble
One day, it didn't worked anymore : people couldn't signup. We were loosing signups = money.
I realised that it was too time consuming to run a solo founded marketplace and while writing the code, I could barely handle the growth.
I was asking myself : API is only about CRUD - there might be someone who though about solving this no ?
Over the week-end, I stumbled on two things: Webflow and Bubble.
I decided to give a shot on Bubble and never looked back since.
Then it was time for me to migrate my existing Squarespace + React/Ruby to Bubble
My Aha moments :
- App Data
Creating a new field, renaming it, deleting have never been so easy... !
- Geographic address
For someone who have worked with storing addresses in databases it is a killing feature !
- API Connector
"Hey why don't we connect to X and fetch ...?" "Okay let's try" 15 min later it is live in bubbe 🙄
Now let's dive into the lessons I've learned as a Bubble developer
1. Too many plugins can be bad
Plugins are so easy : click and install. But then when you try it make sure it is worth any tweaks.
Bad about plugins :
- Slower apps
- Can have side effects
We had this with Wonderful slider : it was automacally sliding our slider and turning our website to dark mode... So we removed it
- We also moved back from air date time picker to native bubble date picker because of bugs and side effects
Must have plugins
Pretty advanced plugin but essential if you need more flexiblity. We use it to store some extra current variable such as
Current Houseor even calculation
classso you can have more clean css/js interaction
3. App Search Tool
Useful when you :
- Look if a plugin/field/element/API is used before deleting it
- Redesign your app so you can find styles which are used
2. Stripe API
I use indirect charges from Stripe :
Destination charges allows you to control the transfer timing so Hotels gets paid once the User checks-in or at the end of the month.
In our case : User pays a down payment when he book then we transfer the money at the end of the month.
At the time I was using Stripe, the official bubble plugin is not complete enough. So we just used API connector to connect to Stripe API.
3. Use Data URL than states or workflows
We heavily rely on
Data URL than
States for this reason :
https://hackerhouse.world/all?place=station-f shows the correct results but if you were using states / input it would not.
We use bootstrap's naming for our styles.
- Primary Button
- Secondary Button
- H1, H2, H3
- Extra Large, Large, Medium and Small
We happened to have some variant such as H3 Border Bottom when a style becomes repetitive :)
5. Responsive and Mobile
We use a 1366px width responsive
Then we have a group
Section with 80% minimum and 100% maximum
Our real secret is that we have Mihaja, our "responsive guy" who is an expert to make it mobile friendly :)
6. Remote pair-programming
7. Missing bubble features - be patient
Happens many times where something is missing in bubble such as :
- Responsive Repeating Group height
- Send multiple parameters to reusable elements
- expose synchronizable states from reusable elements (create a plugin is better for this)
Don't always fight. think differently about your feature and keep it simple.
The reason is that you will introduce bug as you try to fix bubble or on a new update your code won't work anymore and you will spend time investigating.
Less is more :)
- copy / paste expression
- copy / paste conditions
- copy / past cell
- format as to avoid conditional
- Hidden repeating groups
12. I18n with bubble
13. Scale is a problem of rich people
Stay at the lowest pricing until you make enough money to pay the higher tiers.
I've seen so many people taking Professional pricing for an MVP that have barely 50 visitors / day...
For example, 10-15 simultaneous visitors your bubble's hobby plan will be a bit slow or if you have lots of background tasks running during peak traffic.
We needed the daily recurring tasks in the higher tier.
We did a daily trigger from Zapier/Integromat to
POST on bubble webhook
8. Continuous Integrations tests your bubble app
You can use QAWolf to write tests for your bubble app.
We've done a few videos there
Long conversation in French sorry
- Deploy every week :_)
- If you don't have bugs in live it means you are not deploying enough
- Always be responsive
- Keep in mind SEO - Bubble is doing pretty OK for an SPA
- Always be iterating on your product with data's and user feedback