Mo Sharif
Back to writing

Solo SaaS Growth: What Actually Worked for Codelit

In this article

The channel I paid for brought two signups. The work I kept doing between product changes, writing useful architecture guides, became the stronger source of demand.

This is Codelit's early growth retrospective, not a playbook that guarantees the same result for another product.

Codelit

is the product I built around turning intent into editable plans and diagrams.

The figures below are the self-reported March 2026 snapshot from the original post, not current analytics or independently audited metrics. Pricing references describe experiments at the time unless explicitly noted.

Codelit's first two months produced 23 signups: I built the MVP, showed it to about 10 friends who are engineers, and shared a landing page in a couple of Discord servers. Eight of them said "this is cool." Five actually used it more than once.

23 users in two months. Not exactly viral growth.

The build itself is a separate story, from the editing problem that started Codelit through the AI pipeline underneath it. This post is only about what happened once the thing existed.

Codelit's early search traffic took months to become useful, but that does not establish a fixed SEO waiting period. Publishing, crawling, indexing, and ranking are different events. I would track each before deciding whether weak traffic is a timing problem or a content problem.

The posts were specific system design walkthroughs: how to design a URL shortener, how to build a rate limiter, how to architect a chat application. The kind of content that engineers search for when preparing for system design interviews.

Each one was 1500-2500 words with real architecture diagrams (generated by Codelit, obviously). I targeted keywords like "system design URL shortener" and "rate limiter architecture."

By the end of month 4, I was getting 50-100 organic visitors per day from search. These visitors were high intent. They were actively looking for architecture content, which is exactly what Codelit helps with. Organic signups went from 1-2 per day to 5-8 per day.

Writing that volume also taught me how engineers actually learn system design, which quietly changed how I structure every post since.

Codelit's pre-built architecture templates converted better than any landing page copy I wrote, because they show the product working before anyone signs up. Someone lands on the Netflix streaming pipeline, clicks around an interactive diagram, and thinks "I want to make one of these for my own system."

The first batch was 15 templates: Uber's ride-matching system, Netflix's streaming pipeline, Stripe's payment processing, Twitter's timeline, and more. Engineers love looking at how big companies architect their systems. The Uber template alone has been shared in dozens of Discord servers, Reddit threads, and Twitter posts. Each share brings back 10-20 new visitors.

Building that library meant reading a lot of public architecture write-ups; what I learned from 55 of them is its own post.

The template library grew beyond that first batch. The original snapshot attributed about 30% of signups to template engagement. That overlaps with search traffic: a reader can arrive from Google and activate through a template.

For Codelit, a Product Hunt launch did not justify a week away from product and content work. Codelit got 87 upvotes, about 40 signups that week, and of those 40, exactly 3 converted to paid. I finished around #15 for the day.

I'd prepped for a week: screenshots, video, description, rallied some supporters.

Product Hunt was fine. It wasn't bad. But a visible launch did not become a repeatable channel for this product. The traffic spike lasted three days and then it was back to organic.

I wouldn't skip Product Hunt, but I wouldn't spend more than a day preparing for it either.

Codelit's useful content loop connects a problem someone is researching to a product they can inspect. A walkthrough attracts a reader, its diagram demonstrates the workflow, and a relevant next step gives that reader a reason to try it. Every step needs measurement.

  1. Write a system design post (e.g., "Design a URL Shortener")
  2. Post includes an interactive Codelit diagram
  3. Post ranks on Google for "system design [topic]"
  4. Engineers find it, see the diagram, sign up to make their own
  5. Some of them share their diagrams, which drives more traffic
  6. Measure which visits become useful product sessions, then improve that path

The Codelit blog became an important acquisition surface. The lesson is not to publish the largest possible archive. It is to make each article useful without requiring a signup, then measure whether its readers find a reason to use the product.

The key is that every post naturally showcases the product. I'm not writing "Top 10 Diagramming Tools" and awkwardly inserting Codelit. I'm writing actual system design content and using Codelit to create the diagrams. The product sells itself when the content is good.

Google Ads, cold email, and Twitter threads all failed for Codelit. Ads cost $200 and returned 2 signups. About 50 cold emails to engineering managers got a 0% response rate. A thread with 200+ likes produced 12 clicks and zero signups.

Everything I've tried, and what it actually returned:

ChannelWhat it costWhat it returnedVerdict
System design blog posts20 posts in two months, then ongoing~70% of all signupsThe engine
Architecture templates15 in the first batch~30% of signups engaged with templatesProduct entry point; overlaps acquisition channels
Product HuntA week of prep87 upvotes, ~40 signups, 3 paidWorth a day, not a week
Google Ads$200 at $3-5 CPC2 signupsKilled after two weeks
Cold email~50 emails to engineering managers0 repliesStraight to trash
Twitter/X threadsA few "I built X with Y" threads200+ likes, 12 clicks, 0 signupsVanity metric
Reddit, promoting directlyOne post in r/programmingRemoved for self-promotionDon't
Reddit, answering questionsOngoing replies linking blog postsDecent trafficFine, but the blog does it for free

I want to be specific here because knowing what doesn't work is as valuable as knowing what does.

Google Ads: $200 spent, 2 signups. I targeted "system design tool" and "architecture diagram generator." The CPC was $3-5 and the conversion rate was abysmal. The people clicking ads were looking for enterprise tools or Lucidchart, not an AI-powered indie product. I killed the campaign after two weeks.

Cold email outreach: 0% response rate. I sent about 50 emails to engineering managers at mid-size companies. "Hi, I built a tool that generates architecture diagrams from text..." Every single one was ignored. I don't blame them. Cold email from an unknown indie dev selling a tool they've never heard of goes straight to trash.

Twitter/X threads: lots of vanity, no signups. I posted a few "I built X with Y" threads. One got 200+ likes. I checked my analytics. 12 clicks to the site. 0 signups. That thread did not convert for Codelit. People like the post, maybe bookmark it, and never come back.

Reddit: mixed results. Posting directly about Codelit in r/programming got removed for self-promotion. But answering system design questions and linking to relevant blog posts, not the product directly, drove decent traffic. I stopped actively posting and just let the blog content get shared naturally.

Less than you'd charge for a daily tool. Codelit launched at $19/month and converted under 1% of signups, because most people reach for it three or four times a month: prepping for an interview, starting a new project, documenting an existing system.

I picked $19 because Lucidchart charges $10+ and I figured AI generation justified a premium. That reasoning was backwards.

Price pointWhat changedWhat happened
$19/monthSingle plan, launch priceUnder 1% of signups converted
$12/monthAdded a "starter" planConversions tripled
$5/month ProSimpler offer with a trialA later pricing experiment
$15/month MaxHistorical hosted-automation offerLater replaced by Team positioning

Every one of those changes had to be rebuilt in billing, and everything integrating Stripe taught me about webhooks, trials and failed payments is a post of its own.

The more useful change was giving free users enough room to finish a meaningful task. Current pricing separates Free, Pro, and Team features from model and hosted-browser allowances. A subscription should not be read as unlimited execution.

The free tier being generous is important because it builds trust. When someone's used the product for free and gotten value, the upgrade decision is easy. When someone hits a paywall after 5 minutes, they just leave and find an alternative.

As of March 2026, about 15% of Codelit signups are monthly active, roughly 5% of those active users convert to paid, and average revenue per paid user sits at about $11/month across the monthly and annual mix.

  • ~15% monthly active (use it at least once a month)
  • ~5% paid conversion rate from active users
  • 70% of signups come from organic search
  • 20% from direct/referral (people sharing templates and diagrams)
  • 10% from social, Product Hunt long tail, and misc
  • Average revenue per paid user: ~$11/month (mix of monthly and annual)

The denominator matters more than the headline. Five percent of active users is not five percent of all signups, and acquisition mix is not retention. This snapshot is useful for understanding those early decisions; it does not establish current revenue, profitability, or a continuing growth rate.

Write content from day one, make the free tier genuinely useful, stop trying to force paid acquisition, and track which posts produce signups. Those four things account for almost everything that has worked for Codelit.

Write one useful article early. Give it a clear audience, a concrete problem, and a product example that earns its place. Google's crawling guidance makes clear that indexing is not instant or guaranteed; ranking is a separate question.

Make the free tier genuinely useful. Not a demo. Not a trial. A product that delivers real value for free. Paid features should be "more of a good thing" not "the thing actually working."

Give acquisition tests a stop rule. My small ad campaign did not work. Another campaign might, but I would define the budget, audience, conversion event, and acceptable cost before spending more.

Track the decision, not everything. Measure the path from article to activation and upgrade. Keep denominators consistent and account for attribution gaps. More events do not automatically produce clearer evidence.

The lesson I would keep is small: show useful work before asking for a signup, then watch whether people continue. You can see the product behind those experiments at Codelit.

Questions people actually ask

How long does SEO take to work for a new SaaS?
For Codelit it took about three months before anything showed up. I published 20 system design posts across months three and four, and by the end of month four the site was pulling 50 to 100 organic visitors a day from search. That was this site's timeline, not a fixed waiting period for a new domain. Daily signups moved from one or two to five or eight during that early period; indexing, ranking, and conversion remain different questions.
Is a Product Hunt launch worth it for a solo SaaS?
For Codelit, I would limit preparation to about a day rather than repeating the week I spent. Codelit's launch got 87 upvotes, roughly 40 signups that week and exactly 3 paid conversions, finishing around number 15 for the day. The traffic spike lasted three days and then everything settled back to organic search. That was a useful one-off event, but it did not establish a repeatable channel. Another product and audience could perform differently.
Why did lowering my SaaS price increase conversions?
Because price has to match how often people actually use the product. Codelit launched at $19 per month and converted under 1 percent of signups. Most people reach for it three or four times a month, when prepping for an interview or starting a project, so a monthly subscription felt expensive for occasional use. Dropping to $12 per month and adding a starter plan tripled conversions.
Do Google Ads work for a small SaaS?
My small campaign did not work. I spent $200 on Google Ads targeting phrases like system design tool and architecture diagram generator, and got 2 signups out of it. Cost per click ran $3 to $5, and the people clicking were shopping for enterprise tools or Lucidchart, not an indie AI product. I killed the campaign after two weeks. Paid acquisition assumes a funnel that has already been optimized.
Where do a solo SaaS's signups actually come from?
In the March 2026 retrospective, about 70 percent came from organic search, 20 percent from direct and referral traffic, which is mostly people sharing templates and diagrams, and 10 percent from social, Product Hunt long tail and everything else. Around 15 percent of signups use the product at least once a month, roughly 5 percent of those active users pay, and average revenue per paid user sits near $11 a month.