This whole “No Code” movement used to scare me. I thought that as platforms like Bubble.io started rolling out with more functionality, my clients wouldn’t need me as much as they currently do. Well, I was wrong. Not only do THEY need Bubble, but I do too.
Why are we pushing a “No Code” platform?
“As a web development company, you should stick to what you’re good at – writing code..” That’s a sentiment that many of my peers continue to hold. Contrary to popular belief, writing code is not “fun”.. It’s challenging, it’s frustrating, and most of the time it’s mentally exhausting. Imagine working on something all day, then you lay down at night, and the only thing going through your mind is the code you’ve been looking at all day, and possible fixes, or the million other ways you could have written it. It can feel like a nightmare.
As far as productivity is concerned – My company is constantly hiring developers to help us push projects over the finish line. Sometimes we can’t hit deadlines as quickly as we would like to, it’s all part of the process. Productivity can hit 0% if the machine is not well oiled, and when you’re dealing with lots of code, migrations files, server configurations, databases, and stubborn programmers – things can fly off the rails before you even realize there’s a problem.
SO – Why are we pushing no code? I’m getting to that. I’m trying to paint a picture here. Patience. Wooosaaahhhh.
For years, I’ve tried to figure out different ways to streamline workflows, both on internal projects and client projects. I’ve used solutions like Zapier to automate a few processes, but nothing has ever felt like a real end-to-end solution. These “integration services” always feel more like a patchwork of micro-services than a seamless experience. I’ve built custom CRMs from the ground up, and I’ve never been happy with the results. I never have time to focus my energy on my own company, which seems ironic and backwards. But it’s true, my clients get everything. The prime example is the fact that I updated the site today for the first time in nearly a year.
Here’s why I’m pushing no code.. About 4 months ago, I hired a programmer to help me build a niche “middleware” platform that will be used by several companies throughout the marijuana industry. We had everything wire-framed, the database was designed, I had our server environment configured and ready to roll – the project was underway. Everyone knew what they had to do.
Here’s how it went down…
Week 1: Organizing the various APIs by type and how we will use them. Super simple. Programmer was on board, and excited.
Week 2: Followed up with programmer to check status of his work, he was still on board, even created some endpoints that I could test, and everything seemed to be on the up and up.
Weeks 3 – 6: Didn’t hear much from the dev, he assured me he was working hard, but still had zero commits for a couple weeks in github, so I started to worry.
Usually, when I feel like I’m behind the 8-ball, and can’t really give my clients any tangible updates, I freak out. This is typically when stay up for days putting together something for them myself. At this point, it felt like we were too far behind to do anything. The concept of this platform was so simple, but it required a lot of time I didn’t have. So I reached out to one of my trusty devs who’s been working for me since 2015, and he suggested Bubble.
At first I was like “WTF is Bubble?” – He explained it to me, and it sounded horrendous. Visual programming has always had so many limitations. But I respect this guy, so I decided to try it out.
Here’s where the rubber meets the road
When I first opened Bubble, I was completely lost. I had no idea what I was looking at, the UI was ugly, and I was getting discouraged fast. Usually when I get discouraged, I move on and do things in a way that I’m more comfortable with. But I kept hearing that voice in my head saying “research bubble”. At this point I’ve already seen what some people had built using bubble with no programming experience, so I know it can do some pretty cool things. But could it do what I needed? I still wasn’t convinced, but I needed to do SOMETHING, or I might lose a very important client.
So, moving along – I jumped on Youtube and found this kid named Jacob Gershkovich. I watched his series “Mastering APIs in Bubble” and the series was magnificent. Everything he said made perfect sense, and I started to realize that there was some horsepower under bubble’s hood.
I started taking all of my Postman tests and moving them into Bubble immediately. They worked perfectly first try. But could they handle complex workflows like publishing content to ACF fields inside WordPress custom post types? I setup a 2-step back-end workflow, and boom… Post created, ACF Fields updated, everything worked without a hiccup. Something I allocated 10 programming hours to in the budget took less than 10 minutes. I started to feel the seamlessness creeping up on me. I was making up for lost time, and it was great.
Ok, so from a back-end standpoint, Bubble won me over. But working on the front-end was clunky, and it felt like nothing was responsive. I couldn’t edit any CSS or figure out a way to use flex elements in my design, so I was strictly focusing on functionality, and figured I would get back to the UI stuff later. Everything was really coming together in a real way, and I was only about 5 hours into working in bubble. I hadn’t really faced any issues with logic yet, so the power of bubble was really front-and-center.
Keep in mind that at this point, I only had a user’s table in my DB, I was just consuming APIs and displaying the data everywhere, so although there was a feeling of a dynamic dashboard, it was all still very static. I wasn’t sure how bubble dealt with typical CRUD operations, but this was definitely something I needed to learn. I was lost again. I needed help, and I needed it fast.
Then I found ANOTHER Bubble instructor with exceptional skill
I found a course on Udemy by this guy named Gregory John (who owns Buildcamp, teaches at Yale, and also has a great Youtube channel). This guy’s demeanor was pleasant, his pacing was perfect, and he was not an arrogant prick like all of the other instructors I’ve used on Udemy. I spend between 4-6 hours a week in Udemy keeping up on web trends, learning about new tech, and refreshing myself, and it’s rare that I find an instructor that I actually like.
Anywho, I wanted to start from square one. I basically pretended that I had never coded anything in my life and started his Udemy course, working simultaneously with Gregory the entire time. The reason I did this is because I didn’t want to cloud my brain with my personal biases about code vs no code, I just wanted to take it all in and learn something new and different. The course was 10.5 hours long, and I finished it in 12. By the end of that 12 hours, I felt like a freakin’ expert. Gregory’s teaching style was great, he made hard concepts seem easy. He showed me that Bubble makes difficult concepts easy to deliver.
So, at this point, I’m feeling great. I pulled an all nighter, and it was very productive. I had a full cup of coffee, a wireframe, and a fresh Bubble canvas. I spent about 3 hours adapting all of our project schematics from traditional programming approach into bubble-friendly groups. I had my Figma mockup ready to go. I was off to the races. APIs? No problem. CRUD? Easy peasy. Responsive design? Abso-freakin-lutely. LFG!
I spent the next 2 days completely immersed in this project. The client meeting was coming up, and I had to show them something tangible. At this point the programmer I hired was MIA, not responding to emails or phone calls. He was off of Slack for weeks at this point. I was ghosted, which is fine. I paid him for the first 6 weeks and truly had nothing to show for it. Such is life when you’re in this industry.
The big day
So, it’s Friday morning, the calibration call with the client is just starting. They were apprehensive, I was apprehensive – up to this point I think they were expecting some type of pushback on our timeline since I was very transparent about the developer making slow progress (they didn’t know the extent of it). I like to set expectations at a realistic level before I reveal any of my superpowers.
Anyway, I shared my screen, started with the login page, then started walking through the app. As I moved from the dashboard into the more complex pages, they were blown away. The excitement was palpable. Not only did I exceed their expectation for this particular milestone, I had them asking about extended features that we originally said would be way out of budget and scope. But since we were ahead of the timeline and had a tangible product, I said, “let’s just do it, yes, we’ll add that” knowing how easily I could roll out these new enhancements without relying on another developer.
The project went from being a simple middleware app to a full blown SaaS application, and now everyone is ready to hop on board and use it. This would not have been possible without Bubble. I know this. I’ve been a web developer for 18 years, and have never been able to turnaround a fully functional, bug-free tool so quickly. And to build it by myself without bringing in any other developer still blows my mind.
But will it scale?
I’ve been reading a lot about Bubble’s ability to scale, and from what I can tell, it all depends on how the app is structured. I think my experience in web development helped me structure this project in a way that isn’t resource heavy or constantly querying data. Bubble doesn’t really have any type of cache in place, or the ability to make any manual optimizations. The only downside for me is that it’s self hosted, and can’t be moved into a private environment. However, bubble does offer private environments for enterprise, and their packages are actually pretty fairly priced.
So the question whether or not it will scale has yet to be determined for me. But I’m confident that it will be fine. And if it doesn’t scale the way I expect it to, I can hire a developer to rebuild the platform in a more traditional way, they will easily be able to see how everything works.
The Bottom line
Bubble provided a working MVP that surpassed what we originally thought this MVP would look like. We can roll this puppy into active production and it will do its job for at least the next couple of years. Scaling doesn’t appear to be an issue, because at our max, we may have 50-60 companies with maybe 500 users, and most of the data is located throughout other 3rd party apps. It doesn’t require a lot of resources. It’s about 85% headless.
Since we still have a few weeks left in our timeline, I decided to slow down and do more QA and testing, not as much development. The app is working great, and will definitely launch at the end of January. When it does, I will share the full case study with you. I’ll also be sharing other apps that we’re working on in bubble. I hired my brother-in-law as a bubble developer as well, and he’s doing a fantastic job on another internal project (I’ll share that one too when it’s finished).