How I Got My First 10 Customers for My SaaS Side Project

Cronhub dashboard screenshot

I‘m Tigran, a full-stack developer, and on the side I‘m building a SaaS product called Cronhub – a cron job and task scheduler monitoring tool for developers.

Over the past 5 months, I‘ve grown Cronhub to 10 paying customers and over $700 MRR. In this post, I‘ll share exactly how I got those first customers and the lessons I learned along the way.

The Challenges of Getting Initial Traction

Getting the first paying customer for a side project is an exhilarating milestone. But the path to get there is riddled with challenges:

  • Lack of brand awareness and trust as a new product
  • Limited time and resources to dedicate to marketing as a side project
  • Competing against established players with more robust feature sets
  • Figuring out the right pricing and positioning
  • Reaching the right target audience of potential customers

When you‘re a solo developer focused on shipping code, it‘s easy to neglect marketing and obsess over product features. But without customers, you don‘t have a real business.

I knew I had to treat acquiring customers as equally high priority as building a great product. Here‘s how I approached overcoming those challenges.

Cronhub‘s Usage & Revenue Metrics

First, for context, here are some of Cronhub‘s current usage and revenue metrics:

  • 1,168 registered users
  • 421 active monitors (cron jobs)
  • 127,402 daily pings (monitor runs)
  • 3,214 job failures alerted in the past 30 days
  • 99.92% overall uptime in the past 90 days
  • $722 MRR
  • 4.1% free-to-paid conversion rate
  • $49 ARPU

Cronhub metrics

Month New Customers Cumulative Customers Monthly Recurring Revenue
March 1 1 $7
April 2 3 $28
May 3 6 $121
June 2 8 $193
July 2 10 $235
August 4 14 $457

Acquiring My Very First Customer

I launched Cronhub on Product Hunt on March 14, 2018. The next day, I received a Stripe notification that my first customer signed up for the $7/month Developer plan.

Seeing real money hit my bank account from something I built was an incredible feeling. It gave me a jolt of validation and motivation. Even though it was a small amount, it was infinitely more than $0. It proved there was at least some appetite for the product.

That first customer came directly from the Product Hunt traffic. He later upgraded to the Business plan for $49/month after I built out team features that his company needed.

Beyond just the revenue, that first customer was immensely valuable because:

  1. I could learn from his use case and gather product feedback and ideas
  2. It gave me the confidence to keep going and validated people would pay for Cronhub
  3. He became an early advocate and referred another customer

After the Product Hunt launch spike wore off, I knew I needed to figure out a more sustainable acquisition channel. So I turned to content.

Blogging as My Main Acquisition Channel

As a developer, writing in-depth technical content comes naturally to me. So I decided to start the Cronhub blog to share educational articles on cron jobs, monitoring best practices, and my experiences building Cronhub.

Cronhub blog screenshot

My strategy was to write genuinely useful content for my target audience – back-end and DevOps engineers working with cron jobs. I didn‘t overthink SEO, but I did make sure to naturally include relevant keywords.

Some of my most popular posts so far:

I put a lot of effort into making them comprehensive, well-formatted guides with code examples. And I made sure to naturally weave in mentions of Cronhub and its benefits.

After publishing on the Cronhub blog, I syndicated the articles to Medium and Indie Hackers using canonical URLs. This helped expose them to a wider audience, while still prioritizing the original versions on my domain for SEO.

Medium stats screenshot

I was fortunate to get a few posts featured in major Medium publications like freeCodeCamp, which drove a ton of quality traffic. Those spikes resulted in signups from developers who resonated with my content and journey.

The post views and engagement led to a rapid increase in my Twitter following as well. Fellow devs appreciated me transparently sharing my process and learnings.

Twitter follower growth chart

Overall, blogging helped tremendously with organic acquisition. It established Cronhub as a helpful, trusted brand and drove steady, relevant traffic to the site. Today, around 30% of visitors come from organic search.

Google Analytics organic traffic screenshot

Evolving Pricing Based on Customer Feedback

In the early days, I had a simple two-tier pricing model – $7/month for individuals and $49/month for teams.

But I soon realized there was too big of a gap between those price points. Several customers who wanted team features were turned off by the $49 price tag.

So a month after launching, I introduced a "Startup" plan at $24/month with some team features. And almost immediately, I got a new customer on the annual Startup plan.

This taught me to continue iterating on pricing as I talked to more customers and gathered data. Pricing is not something you have to nail from the start – it evolves with the product and market.

Today, Cronhub‘s pricing page includes four tiers, with clear feature differentiation:

Cronhub pricing screenshot

I also experimented with annual plans and found they converted well. It‘s become a great way to boost cash flow and smooth out revenue fluctuations.

Staying Productive While Bootstrapping

As a solo founder, staying productive and balancing Cronhub with my day job is a constant challenge.

In the early days, my daily schedule looked like:

  • 9am-6pm – Work at my full-time developer job
  • 7pm-9pm – Customer support, marketing and small bug fixes on Cronhub
  • 9pm-12am – Building new Cronhub features and improvements
  • 12am-1am – Writing blog posts and content marketing

I typically reserved larger chunks of time on weekends for focused Cronhub work. But inevitably, some things slipped through the cracks. I had to ruthlessly prioritize the highest impact tasks each day.

Some productivity tactics that helped:

  • Pomodoro technique to maintain focus during work sessions
  • Productively utilizing my morning and evening commutes
  • Dedicating one weekend morning each week for content writing
  • Scheduling a block of time for customer support and onboarding in the evenings
  • Eliminating most meetings and unnecessary distractions
  • Optimizing my sleep and eating habits for consistent energy levels

Even a couple hours a day adds up over time. The key is making daily, incremental progress.

Another challenge of being a solo founder is the emotional ups and downs. Some days I‘d lose motivation after getting no new signups. Other days, I‘d be on a high after shipping a new feature.

Throughout the low periods, I had to remind myself that building a profitable side project is a marathon, not a sprint. I celebrated small wins and focused on the long-term vision.

The support and inspiration from communities like Indie Hackers and Twitter was immensely helpful. I made an effort to attend local meetups and connect with other bootstrappers.

Engineering Challenges Building Cronhub

As a full-stack developer, I faced a number of engineering challenges building Cronhub‘s backend infrastructure and monitoring service.

One of the toughest parts was designing a robust, scalable solution for the actual monitoring functionality. I needed to ensure monitors would continuously run on schedule with minimal latency, even under high load.

I experimented with a few different architectures and message queues. Ultimately, I landed on a multi-threaded Go service that asynchronously sends monitor pings through RabbitMQ, with Redis as the datastore.

This allows Cronhub to efficiently process thousands of monitor runs per minute with an average latency of 200ms.

Cronhub monitoring infrastructure

Another interesting challenge was deciding between building a monolith or microservices. I knew a monolith would let me move faster in the beginning, but microservices would be easier to scale and decouple.

Since it was just me building the initial version, I started with a monolith Rails app. But I made sure to keep the architecture modular so I could easily extract services in the future.

In retrospect, this worked out well. I was able to iterate quickly on new features while still keeping the door open for microservices down the line.

On the hosting side, I went with Heroku over AWS, GCP or DigitalOcean. Even though it‘s more expensive, the managed platform, GitOps workflow and painless scaling were well worth it for me. One less devops headache to worry about.

I also decided to use Stripe for payments, which was a no-brainer. Its API and docs were a joy to work with, making it easy to set up subscriptions and get paid quickly.

Key Takeaways for Developer Founders

My biggest piece of advice for developers building side projects is to start small and launch quickly. Like, within 4-6 weeks quickly.

It‘s tempting to overbuild early on, but you‘ll learn infinitely more from getting real customers than you will from endless polishing. An MVP you‘re embarrassed by is better than a perfect product you never finish.

Once you do start getting customers, make them your top priority:

  • Do things that don‘t scale like manual onboarding and 1-on-1 support
  • Go above and beyond to resolve issues and gather feedback
  • Be genuinely grateful for their business and treat them like royalty
  • Continuously re-engage them for ideas on how to improve the product

Don‘t underestimate the power of content marketing as an acquisition channel, especially as a developer. Writing about your experiences building in public attracts other developers facing similar challenges.

While content is a grind and takes time to pay off, it has strong compounding effects. It becomes an engine that brings you recurring traffic and leads, on autopilot.

On the technical side, I‘d encourage being pragmatic and using technologies you‘re most productive with when bootstrapping. Forget the hype trains and shiny new tools – focus purely on execution in the early days.

Finally, make friends with other founders and indie hackers. Having a group of supporters who understand your journey makes a world of difference. People are more than happy to help if you provide value and put yourself out there.

The Road to $5K MRR

Cronhub has come a long way in the past 5 months, but it still has a long way to go. My next goal is to reach $5,000 MRR – the mythical Ramen Profitability milestone.

I‘m excited to keep talking to customers, shipping improvements to the product and experimenting with new growth channels. Content will remain my bread and butter, but I‘d like to try my hand at SEM and paid ads soon.

I‘ll continue sharing details about my journey, both the highs and the lows. If you‘d like to follow along, subscribe to my newsletter or follow me on Twitter.

And if you‘re a developer working with cron jobs, I‘d love for you to give Cronhub a try. There‘s a generous 14-day free trial to see if it can help you sleep better at night. Your feedback would be greatly appreciated 🙂

Thanks for reading this novel of a blog post. I poured a lot into it and hope you found it insightful. If you have any other questions, let me know!

Huge thanks to my wife Ani for supporting me throughout this rollercoaster indie hacking journey. I couldn‘t do it without her.

Until next time, happy building!

Similar Posts