How I bootstrapped a React codebase generator to $2k MRR with Gabe Ragland

Gabe Ragland from Divjoy tells his journey from being in YCombinator to $2k MRR as an indie bootstrapper.

How I bootstrapped a React codebase generator to $2k MRR with Gabe Ragland

Hi Gabe! Welcome to this week’s Maker Spotlight. Tell us a bit about yourself and what you’re building!

Hey there! My name is Gabe and I’m a Portland-based developer and startup-founder.

Lately I’ve been working on Divjoy, a tool that helps devs build React.js apps faster by giving them everything they need (like front-end UI, auth, database, server logic, hosting configuration, etc). Basically, I just want to make it easier for people to launch ideas without wasting weeks on setup and a bunch of annoying details.

But perhaps I should back up a bit and talk about my history as a maker/human-being. I got started with web development making websites for friends and family back in high-school. Mostly I just needed money, I was already hopelessly addicted to my computer, so it was a perfect fit! All the websites I made were done with Flash and had an embarrassingly long intro screen, back when intro screens were all the rage and when I presume usability experts thought that people really wanted to have to “Click to enter”.

It wasn’t until college that I started playing around with making things that felt more like web apps. This was around the time that sites like Digg and were super popular and people started throwing around the term “Web 2.0”. This was all very exciting to me for some reason. I was studying Sociology at the time and thought it would be cool to maybe write my thesis on why people participate in online communities and [smart-sounding Sociology term that I’ve long-ago forgotten]. In retrospect, it wasn’t very profound, but it led to me interviewing a bunch of the top contributors on Digg, Reddit, Wikipedia, etc and really ignited a fascination with online platforms and how creators can influence user motivation and participation. Fun fact: a lot of the top contributors to Digg were being paid $5k/month to submit the same content to a competing site owned by Netscape. Weird huh?

Around this time I was hacking on a music sharing site idea that I think had a whopping 65 users in its first year. I got lucky though and one day Facebook released its new apps platform, That evening I stripped out most of its features and ported it over as a Facebook app. It was stupidly simple. Users could search an index of songs and add a little music player to their profile. I was one of the first people to put a music app on Facebook and it grew like crazy. 6k users the next day. 20k the next day.. 100k. And so on until it had a few million users with the embedded music player on their profile. It was pretty wild. Ads made me enough money to avoid getting a real job for a while. I also learned that the RIAA is not a super big fan of apps that enable people to freely share their artists' music online. I naively thought I was fine because it just indexed mp3 links that were already hosted online. So after a couple extremely threatening letters from the RIAA I decided to shut things down and move on.

Nonetheless, it was a nice thing to have on my resume, and ended up getting me a job with a music startup called Project Playlist, where I was hired to work on their Facebook app, but this time with all the proper record label deals in place (plot twist: that wasn’t actually true). I spent a year there, learned a lot, had insane imposter syndrome (version control? what’s that?), the companies’ label deals started falling apart, people started jumping ship, and so I left to go move up to Portland, Oregon with a bunch of college buddies.

After freelancing for a while, another app I was working on started getting some traction. It let people collect and share images from around the web (basically Pinterest, before Pinterest was popular). It eventually grew to a few millions users, $15k/m in ad revenue, and I ended up taking it through the Y Combinator startup accelerator in 2012 as a solo-founder. YC was a really awesome experience. The partners are super helpful, but the biggest thing for me was being connected to a huge network of really smart startup founders. While the startup didn’t end up working out (due to declining ad-rates and lots more competition), I’ve stayed friends with many of the people from my YC batch and continue to benefit from being part of the network.

I think at this point most sane people would have taken a break and looked for a stable job, but I kept working on new ideas with some freelance work on the side. Over the next few years a couple things got a tiny bit of traction, but nothing like before. A Shopify app for managing discounts. A crowdfunding site for artists. A game on the Ethereum blockchain. The one thing that kept frustrating me was that I felt like I was reinventing the wheel for every new project. I started thinking about what it would look like to have a tool that handled all the common boilerplate for you, which led into my work on Divjoy.

What are your stats as of today?

I launched Divjoy about months ago and over 8,000 people have used it to export a codebase and I’m close to $2k/month in revenue.

How’d the idea for Divjoy come to mind?

While going through different startup ideas over the years, I had experimented with using pre-built website themes and boilerplates to speed up development, but always found the experience pretty awful. Standard website themes left out too much (like all the actual logic) and boilerplates were often way overengineered and didn’t really help out much on the front-end.

What if you could move to code and immediately start working on your core product because all the common things like landing page, auth flow, database integration, payments, were setup out of the box?
The Divjoy website.

I’m a big fan of React and really wanted to use it for my projects, but it’s also a very opinionated framework. You need to pull together a bunch of other technologies to build something of any complexity. So I started thinking about what it would look like to have a tool that could generate a custom React codebase that had exactly what you needed, nothing you didn’t, and included a built-in UI editor for rapid prototyping before moving to code.

What if you could move to code and immediately start working on your core product because all the common things like landing page, auth flow, database integration, payments, were setup out of the box?

What if you could even choose specifics, like which CSS framework, auth provider, or database was included with your codebase so that you’re building with tech you already know and are proficient with?

How’d you validate Divjoy and get your first customers?

For better or worse, I didn’t do much validation before starting work on it. It was something I wanted and I just assumed there were other people that felt the same way.

HN Launch

After a month or so of work I had a prototype that was a canvas where you could drag in different components, like navbar, foot, pricing grid, etc. It didn’t actually do anything or have functioning code export. I started going to some local React meetups and showing it to people and asking, “If you could quickly assemble your UI like this and it automatically included all the React and backend logic to make it function, would you use this”? The feedback was at least positive enough to keep me going, although I was still aways from actually validating it. It was another good 5 months of development before I had what felt like an actual MVP and I was able to launch it with a “Hacker News with a “Show HN” post. That was a very validating moment for me. It was at the top of Hacker News for a full day and I had thousands of people using it, giving feedback, and exporting codebases over the next few days.

Now, marketing strategy: how do you actively reach your customer segment and grow Divjoy?

This is actually pretty challenging. While it’s not super hard to connect with developers online, it is hard to get Divjoy in front of devs who just happen to be starting a new project soon. Divjoy is only really useful if you’re just getting started.

I’m very lucky that my HN launch went well, as did my subsequent Product Hunt launch. This led to enough exposure and other sites linking to it that I have a steady stream of about 200 people coming to it a day. This has allowed me to spend most of my time on the development side and adding things people have been asking for, rather than worry about marketing and keeping traffic up. I think once database and payments integration is out I’ll shift back to marketing mode for a while. I’d like to work on SEO and growing an affiliate network.

What are the biggest obstacles you’ve faced when founding and bootstrapping Divjoy?

By far the biggest obstacle was the amount of work it took to get an MVP out. In retrospect, I maybe could have started with a single opinionated boilerplate and tried charging money for it, and then branched out into letting people customize technical options. That said, building yet another boilerplate wasn’t what interested me in the project and, knowing myself, I probably would have lost interest had I gone the easy route. The downside to such as long development cycle was spending pretty much all my savings and taking on a little credit card debt 🤷‍♂️

More recently, the challenge has been how do I expand the number of export options without exponentially increasing the complexity of building and maintaining the product. For example, depending on your combination of React framework, auth provider, and chosen hosting environment, certain parts of your generated code are going to look a bit different.  It’s super challenging architecting things so that I can continue to scale this up, ensure all the variations work correctly, and that I’m actually giving users quality code that looks pretty close to what they’d have written themself.

What are your plans for it in the future?

I feel like I’m about 5% of where I want to be with Divjoy. It’s still lacking database integration, which is coming next week. That’s going to open up a lot of doors, since once it has persistent data I can include things like fully-functioning account settings pages, dashboards with live data, working payments system, etc. There’s a lot of things that existing customers have to add themselves, so I’m still a ways away from my goal of giving people everything they need out of the box.

On one hand, it can feel a bit overwhelming thinking about how much more needs to be done. On the other hand, I’m just about at “ramen profitable” with the current version, so it’s exciting to things where things will be once a lot of these major features are in. Beyond that, I’m also probably going to need help building this. That may mean bringing on a cofounder at some point or potentially open sourcing a major part of the project so that anyone can contribute.

Also - with these tumultuous times, it’s also important to ask: how are you handling the coronavirus crisis?

The crisis has definitely added an extra level of stress. It’s been hard focusing on work with what’s going on and making sure family and friends around the world are safe. Initially I took a pretty big revenue hit, which is a bit worrisome when you’re already barely paying rent, but it looks like things have rebounded. I think there are a lot of people stuck at home and looking to start a new project right now.

What have been the biggest takeaways from your experience as a maker? What are the biggest lessons?

I’ve pretty much always been a solo-founder and often overestimate how much I can handle myself. When I was going through YC I hired a few freelancers to help out, but should have been trying to find a good co-founder to join me, as having someone fully invested in the success of the company is very different. I’m going to try not to make that mistake this time :)

Well, slightly off topic, but as tradition we ask makers to share the music genre or playlist that motivates them.

My music tastes are all over the place. This past week I’ve been listening to a lot of Run the Jewels and everything I can find that El-P (from Run the Jewels) has been involved with.

As always, closing question: What advice would you give other makers out there?

I think my biggest advice is build something that you really want yourself. Almost all my failed projects were things that I thought might be a good business, but I actually wasn’t all that interested in. Success almost always takes longer than expected, and if you’re not passionate about what you’re working on there’s a pretty good chance you’re going to burn out or lose interest long before you start getting traction.

Another bit of advice is to always keep your eyes open for new opportunities, so you can “be at the right place at the right time”, as they say. That’s something I learned early on when I converted my music website to a Facebook app. Once in a while an opportunity comes along and you’ll miss it if you’re not actively looking.


Thanks for reading! Feel free to follow me on Twitter. If you give Divjoy a try I’d love to hear your thoughts.