My experience: I am the Director of Product for a fintech startup in NY. I have been working in Product for nearly 4 years. Previously, I collaborated with an engineer to create an online network for a cappella group. I use SQL at work, took a course on Java in college, and did Codeacademy for HTML when I was working in marketing. I do not code in python or javascript, but I have absorbed a lot by osmosis.
The first app I built in Bubble was an internal tool for my colleagues. It came to my attention that their current tool had major pain points and insufficiencies, as well as being a $20k annual subscription.
I met with a teammate to understand the functionality that would be needed for “the correct solution”, and started looking at Bubble that same day. In the course of two long late night sessions, I “winged” a database design and UI (would not have been so fast without my professional background), and learned bubble by trial and error (no patience for tutorial courses).
I showed my work to stakeholders, had them test it with a mock example, learned what was broken, needed to change, would be nice to have, etc., and put perhaps an additional 4 or 5 hours into a feature that allowed us to export an attractive PDF that contained scheduling info for our event attendees (only possible via plugin and custom workflows).
That took, all in all, maybe 20 hours of development. The basic functionality:
- Create an “Event”
- Create “Attendees”
- Create “Time Slots”
- Create “Meetings”
- Create “Locations”
- Efficiently meetings between attendees
- View all relevant data in-app
- Export schedules to PDF
We cancelled our subscription. Fast.
The next app I built was a virtual version of a card game my friends and I love. This is much more complex and has taken considerably longer. I haven’t kept good track, but it’s probably in the neighborhood of 75 hours, and the roadmap stretches on for easily another 24-50 hours of work.
Many of those hours were due to “re-factors” - hitting a performance issue and realizing I needed to change something fundamental, realizing I hadn’t been leveraging repeating groups as well as possible, or just figuring out the dang logic needed to get the game to work. Other time, of course goes into testing. With support for 8 players in the same game simultaneously, there are a lot of edge cases and scenarios to support.
The card game works quite well, and we’re really at the part where I’m just looking to improve performance, add a few more high-impact features / nice-to-haves, and eliminate critical bugs (stale data displaying on the screen can wreck a card game).