The Startup
Published in

The Startup

Could I Build My Product on Bubble.io?

Photo by Annie Spratt on Unsplash

Moment of discovery

My unexpected discovery of 2020 came via a simple Slack message: “Have you heard about Bubble?” The question was posed to me by another founder, Luke, during the Sydney (Australia) Founder Institute accelerator program.

At the time, I was evaluating a number of different technical options for our startup. At the top of the list was a custom, full-stack web solution on Amazon Web Services, using off-the-shelf components (mostly SAAS products — e.g. CRM, Email Marketing, Chat, Payments, etc) connected by API to minimise the use of dev resources.

“No” I replied to Luke as I quickly googled Bubble and scanned the landing page. “But I’ll check it out”.

Initial impressions

A few keywords piqued my interest: “full functionality”, “pixel-perfect”, “robust, scalable”.

I checked out a few of the featured products and they looked good with clean & professional user interfaces.

The pricing page was next. “Seems reasonable,” I thought. Free tier to start. Then similar to the cost of Amazon Web Services, plus a bit more for their product. Nothing excessive like some software out there.

Finally, the academy page outlined a series of tutorials for building apps on Bubble.

This page claimed you could build an app with similar features to WhatsApp, Udemy, Etsy to eBay.

At this point, my mind went to “Wow! If this can do what it claims to, it is amazing”.

Doing the Bootcamp

As I didn’t have much time to play around — after all, I was in an intensive accelerator program — I signed up for the 8 week Bubble Bootcamp. I figured the cost was fair versus wasting weeks of my time only to find it wouldn’t deliver what I needed.

Now I’m glad I did.

Working with Bootcamp instructor Mariel Vargas and a small group of builders, we stepped through the full feature set of Bubble, learned best practice approaches to the tool, and allowed me to ask specific questions that I had about my project (See available Bubble Bootcamps here).

My experience

I wrote this article after using Bubble at least 30hrs per week for the past 4 months.

I would sum up my experience to this point as “significantly better than expected”.

For the rest of this article, I’ll answer common questions that potential Bubble users ask.

How have you found Bubble?

Bubble is great. It is accessible, straight-forward, and flexible enough to deliver most web applications out of the box.

Any limitations I have hit have been resolved by approaching the problem a slightly different way within Bubble (being flexible, it allows you to do things 2 or 3 ways, and often one way is better for the use case at hand).

It offers a surprisingly intuitive user experience for the developer, better than some other software I have used that is much more mature.

What is the learning curve like?

I found the learning curve to fluency was 10 times faster with Bubble than learning full-stack web development.

I do have a technical background, mainly in databases and business intelligence. I estimate it would take about 2 years of full-time work for me to become fluent in modern ‘full-stack’ web technologies.

In Bubble, I felt confident to deliver a comparable product in under 3 months whilst learning the tool.

You shouldn’t expect to understand Bubble fully after a week or two of playing around. There are concepts that take a longer period of exposure to fully understand.

What if I’m “not technical”?

If you’ve never “coded” before but you are a logical person and you have some flair for design, e.g. you are good with Excel/Sheets, you can clearly document a process flow chart, and you enjoy designing in other mediums like PowerPoint/Slides — then you are likely to be successful with Bubble after investing some time learning.

What complexity of app can you build?

In short, a very complex app.

Bubble has “out of the box” functionality including core Bubble maintained plugins, as well as a full range of options to extend its capabilities via APIs.

In summary, I haven’t found anything I wanted to do in Bubble that I couldn’t do yet.

Things I am currently implementing include:

  • Landing pages
  • Social media style profiles (similar functionality to Facebook/LinkedIn)
  • Chat
  • Payments
  • Tiered classes of users
  • Displaying a page differently depending on user being logged in or out (implementing a sign-in wall and pay-wall)
  • Blog (list view of articles, page view for each article)
  • Fully responsive pages (changes based on user screen size)
  • Heavy analytics in the background (Google Analytics, Hotjar heatmapping, my own audit log of events and page views)
  • Building data structures with one to one, one to many, many to many, hierarchical data, and lists populated with values from large csv files.

This isn’t everything you could do on Bubble, only the things I’ve tried.

Functionality that isn’t out of the box can be created by installing or developing a custom plugin. There are a number of agencies doing this at a reasonable price for clients.

How do you extend Bubble?

You can use Bubble’s own integrations with common services:

  • OAuth (open authentication) — let your users sign up with Facebook/Google
  • Google Analytics
  • Stripe for Payments
  • Sendgrid for Email Marketing
  • Figma for Design
  • Google Maps APIs
  • Algolia for Search
  • Discourse for Forums

You can connect to anything else with an API using Bubble’s API Connector plugin.

Can it scale?

Yes. Bubble initially deploys your app on the Bubble cluster on Amazon Web Services (AWS is the leading cloud hosting provider internationally). Paid plans give you extra capacity on this cluster all the way up to their Production tier.

Your content (images, videos, etc) are deployed on AWS Cloudfront (Content Delivery Network) meaning your large files are cached (stored temporarily) in AWS Edge Locations around the world close to your users, meaning subsequent users of the same content get a much faster load time for this content

Finally, there is an option to deploy your own Bubble Cluster in an AWS region of your choice, which is great for those located outside of North America as it will reduce the distance data needs to travel when requested.

Is it secure?

Bubble is more secure than most custom-built web applications built by small teams.

With full-stack development, it is very easy to leave vulnerabilities in your web app, especially if your team doesn’t have dedicated security expertise.

Bubble takes care of many aspects of security — you simply need to implement your app according to their best practice.

In addition, SSL (HTTPS) is included by default with your app — so you won’t see those annoying “this site is not secure” warnings next to the URL in your browser.

How much dev time could I save?

I estimate that using Bubble has reduced my dev time by 80% vs engaging an external full-stack developer or team.

When I worked as a developer, I spent most of my time solving technical problems — a bunch of things no one else seemed to understand or care about. Bubble solved these for me so I could spend my time on solving problems that matter to the customer.

Time savings come from:

  • No environment setup (initializing virtual machines, install and configure the database, GIT for version control, different environments e.g. Dev/Test/Prod, Automated Testing).
  • No need to build basic features (user signup, login, authentication/authorisation, SEO, processes for workflows, style sheets, etc).
  • Less time lost in translation. If you have a clear vision and you can design, you can design and build concurrently, drastically reducing the amount of communication and coordination required in a traditional dev team. For complex apps I design on paper (Wireframes, Flow Diagrams, Database Entity Relationship Diagrams) and keep track of my data in a Google sheet.
  • Reducing the feedback and iteration loop. In the lean startup world, early validation of your idea is critical. The idea is to quickly deploy and discard what doesn’t work — rather than going through a longer dev cycle (weeks/months) before validating with users.

What are the downsides?

I would say there are only a few downsides that I can see. These are not unique to Bubble either but are something to be aware of with any choice of platform.

  • Native Apps — It is an extra few steps to package up your web app into something that looks and feels like a “native app” (aka something you can download from the Apple App Store or Google Play). I understand this is on Bubble’s roadmap to improve. However, like with a full-stack approach, you could hire an iOS and Android developer to access your Bubble App data via an API Endpoint and build out a Native front end should you wish.
  • Reusability — You can create reusable objects (e.g. for things like a header, footer, or nav bar) and also backend workflows (e.g. for things like a function). However, there is still a bit of manual copy and paste going on to make these things work. For very complex apps, I could see where writing functions in custom code could improve reusability vs Bubble. Realistically this would only apply in very ambitious or mature software packages, e.g. the type that has over 10 developers or those that have been going for >3 years with many modules. This isn’t to say that large projects shouldn’t use Bubble — more to say it depends on the design and architecture of what you are trying to do. Another option is to deploy some of these custom components on a virtual environment elsewhere (e.g. AWS EC2 or Lambda) and connect to this data processing via API.
  • Platform lock-in — Like most software projects, the more you build on Bubble, the more locked into it you become. This is the same for anything. Most code these days will be rewritten in the foreseeable future. The advantage of Bubble is that it takes much less time to write the same thing.
  • Bad design — One challenge with democratizing technology is that it empowers anyone to build. While this is great for many, it is also important to learn and be mindful of good design principles and stick to them. This is seen across the user interface, user experience, designing for reusability where possible, and writing efficient data structures and expressions. For this reason, it is recommended to seek out an experienced Bubble developer and mentor for initial guidance to implement your idea (I can help: see willericksson.com).

Staying current

The challenge in tech is staying current with all available tools and picking the best one for the job. Those who work closely with one tool day in and day out may not have realized there are newer or better tools for certain jobs.

If you are a founder looking to deploy a scalable tech product, follow a lean startup approach, save time and money, extend your financial runway, lower risk, and build a sustainable business be it bootstrapped or funded — Bubble is the obvious tool for this job. They are still a relatively small company and in my view, one poised for significant exponential growth.

Using their platform now (before everyone realizes) gives you high levels of agility over your competitors, creating a significant strategic advantage in business terms. In other words, Bubble allows you to “punch well above your weight” in terms of what you can achieve for the investment of time and money available.

Shovels & Excavators

Going down the full stack dev path in this situation would be akin to digging a hole with a shovel when you could use an excavator. There may be plenty of tradesmen with years of experience in shoveling telling you to hire them and their shovels, and claiming that their way of digging is superior and more technically “correct” or “pure”.

This is why it is still common to hear of founders spending over $100,000 with an agency or developer to build a minimum viable product when they could do it themselves in Bubble with only minimal external support. The problem is that these dev teams risk putting the wants and needs of the developers over that of the business and successful delivery of the project.

Is there any scenario you wouldn’t use Bubble?

If your product is like other popular web platforms (e.g. those mentioned on https://bubble.io/how-to-build), Bubble is the best way to build your MVP and also scale-up.

If you are building something that is incredibly complex, heavily relies on functions and backend data processing, or you have the need and funds for a large dev team (say over 10 people) — Bubble may or may not be the best tool for the job, depending on your specific use case. In these situations, I would still consider Bubble for the first iteration of the front end and extend it via an API connection to custom modules hosted on cloud servers. Who knows, you may never need to move away from Bubble, even at scale.

About the author

More at willericksson.com

More about momentumgroup.tech.

Since building the MVP for his startup in Bubble, Will has begun to teach Bootcamps at Bubble and also offer 1:1 mentoring.

The views expressed here are those of Will Ericksson and do not represent Bubble. Bubble is a trademark of the Bubble Group Inc.

--

--

--

Get smarter at building your thing. Follow to join The Startup’s +8 million monthly readers & +756K followers.

Recommended from Medium

Reflections on Modern Modding

Solving the Problem of Android Fragmentation- Project Treble | Lucideus

Dynamic Programming

Who are you AMiGO?

May Update

DeFi app — how to build a successful application

Aww… CRUD

EP15: Should we allow FE and BE stories?

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Will Ericksson

Will Ericksson

Managing Director of MomentumGroup.tech

More from Medium

What Is Dynamic Routing? (And Why You Should Use It)

How to grow my business using technology?

Bringing Product Ideas to Life: How I built an app with zero code

Elementor. Building a Pro Website Using Visual Development that Anyone can Use

Want to build an app? 5 steps you must take when starting mobile and web app development