The B2B Podcast Index
Index
All categories
MarketingSalesSaaSFinanceHROpsLeadershipCustomer SuccessAI & DataProductStartups & FoundersRevOpsEngineering & DevTools
MethodologySubmit
Best of:MarketingSalesSaaSFinanceHROpsLeadershipCustomer SuccessAI & DataProductStartups & FoundersRevOpsEngineering & DevTools
An independent project byFame
SearchBest episodesGuestsInsightsMethodologySubmit a podcast
Index/Startups & Founders/The Indie Hacker Podcast with Fexingo
The Indie Hacker Podcast with Fexingo artwork

How a Solo Dev Hit 10K MRR With a CLI Tool and No UI

The Indie Hacker Podcast with Fexingo · 2026-07-01 · 9 min

0:00--:--

Key moments - from our scoring

Substance score

52 / 100

Five dimensions, 20 points each

Insight Density12 / 20
Originality10 / 20
Guest Caliber6 / 20
Specificity & Evidence13 / 20
Conversational Craft11 / 20

This episode examines how a solo developer achieved $10K monthly recurring revenue with a single-binary command-line tool for PostgreSQL database migrations - no web dashboard, no UI, just a focused solution to a developer pain point. Unlike language-specific alternatives like Alembic or Flyway, the tool is language-agnostic and eliminates setup friction. The developer charged $50 per developer per month through a free-tier-to-paid conversion model (free for open-source, paid for commercial teams), acquiring customers entirely through GitHub and Hacker News with zero marketing spend. The first paying customer came organically when a CTO found the tool after experiencing a production database outage. Key to the strategy was deliberate scope constraint - when customers requested a UI, the developer refused, calculating that a dashboard would triple his workload. Instead, he invested heavily in documentation as a growth lever, turning support questions into improved docs that attracted organic search traffic. By month eight, he had 200 paying seats across roughly 40 customer accounts, with only 2% monthly churn because switching costs were high once integrated into deployment pipelines.

Key takeaways

  • →Solo developers can build defensible, profitable businesses by deeply understanding a niche audience (in this case, terminal-native developers) and resisting pressure to add features like UIs that multiply complexity.
  • →Language-agnostic solutions with low setup friction can outcompete established tools by focusing on the friction point competitors ignore rather than trying to out-feature them.
  • →Documentation and reliability are underrated growth levers for developer tools - treating support questions as doc-improvement opportunities creates compounding organic reach.
  • →A free tier for open-source and personal use acts as a sales funnel when those developers later advocate for the tool at their jobs, enabling customer acquisition at zero cost.
  • →Consistent, linear revenue growth with low churn ($2K→$5K→$10K MRR over 8 months) proves that bootstrapped businesses don't need exponential growth or VC funding to be sustainable and personally profitable.

Topics in this episode

CLI toolsHacker News distributionSaaS pricing modelsPostgreSQL database migrationsLanguage-agnostic developer toolsGitHub growthFree-tier-to-paid conversionDeveloper tool documentationDeployment pipeline integrationZero-cost customer acquisition

Questions this episode answers

How did a solo developer reach $10K MRR with just a CLI tool and no user interface?

He built a PostgreSQL migration tool that solved real pain (database outages from botched migrations) with zero setup friction, charged $50/developer/month to engineering teams, and grew entirely through GitHub + Hacker News word-of-mouth. Low churn and high switching costs (once integrated into deployment pipelines) meant 40 customers with 5 seats each could sustain $10K MRR.

What was the pricing model and how did he convert free users to paying customers?

He offered a free tier for open-source projects and individual developers, and a $50/developer/month paid tier for commercial use with priority support. The free tier acted as a funnel - developers using it on personal projects would advocate for it at their jobs, while the first paying customer came from a CTO who discovered the tool after a production outage.

Why did the developer refuse to build a UI even though customers requested it?

He calculated that building and maintaining a UI would multiply his workload by at least three times as a solo developer. Instead, he invested in comprehensive documentation as a growth lever, which attracted organic search traffic and enabled customers to self-serve.

How much customer acquisition cost did the solo developer have?

Essentially zero - he spent no money on ads or sales, relying entirely on GitHub, Hacker News, and organic search from his documentation to drive awareness and conversion.

What was the churn rate and why was it so low?

Monthly churn was around 2%, primarily because switching costs were high once teams integrated the tool into their deployment pipelines, and the tool's reliability and responsiveness (the developer responded to issues within hours) made it sticky.

What our scoring noted

Our reviewer’s read on each dimension, with quotes from the episode.

Insight Density

12 / 20

The episode contains several useful takeaways for indie developers (product-market fit through pain, low-churn model, documentation as growth lever, free tier as sales funnel), but these are presented with limited depth and mostly reiterated rather than deeply explored. The conversation covers ground but lacks novel mechanics or counterintuitive insights beyond 'build something people want and listen to them.'

good documentation is a growth lever. Especially for developer tools
by keeping it simple, you validate the core value proposition faster. If people pay for a CLI tool, you know the problem is real

Originality

10 / 20

The core narrative - solo dev builds focused product, solves real pain, achieves sustainable revenue - is a well-worn indie hacker archetype. The specific insight (CLI-only, no UI, still hits 10K MRR) is somewhat novel in emphasis but not deeply original; the underlying principles (tight focus, product-market fit, low acquisition cost) are standard indie wisdom. No contrarian or first-principles argumentation present.

build a real business on your own terms
You don't need a massive team or a complex product to build a sustainable business. You just need a clear problem, a focused solution, and a deep understanding of who you're building for

Guest Caliber

6 / 20

No actual guest appears in this episode. Lucas and Luna are hosts having a theoretical conversation about an unnamed solo developer's story. The developer whose work is discussed is not interviewed, and we hear only hearsay about their experience. This severely limits the credibility and value of the content - it's secondhand narrative rather than direct expertise.

So there's this story about a solo developer who built a command-line tool
He mentioned that he's thinking about hiring a part-time support person

Specificity & Evidence

13 / 20

The episode provides concrete numbers ($50/dev/month, $10K MRR, 2% churn, 8 months to 10K MRR, 200 paying seats, ~40 customers), which is strong. However, the tool itself (a PostgreSQL migration tool) is vague and unnamed. The customer acquisition story is illustrative but generic (CTO finds it on GitHub). No verifiable sources, links, or named case study are provided; all claims rest on unverified hearsay.

fifty dollars per developer per month
It took about eight months from first commit. He hit two thousand MRR in month three, then five thousand by month six, then ten thousand by month eight

Conversational Craft

11 / 20

The hosts trade conversational turns competently and build on each other's points reasonably well (e.g., Luna's follow-up on churn, the free-tier-as-funnel beat). However, the dialogue lacks sharp follow-ups, no contradictions or productive disagreement emerge, and many questions are softball or leading. There is no pushback on the narrative or probing of underlying assumptions - it reads as two people agreeing on a pre-agreed story.

That's steep for something that doesn't have a UI
I wonder - did he ever face pressure from customers to build a UI?

Conversation analysis

Computed from the transcript - who did the talking, and the words that came up most.

Most-used words

lucas25luna23tool12developer11customer9thousand7database6building6product6free6build6story5dollars5migration5tier5customers5

Episode notes

In this episode, Lucas and Luna explore the story of a solo developer who built a command-line interface tool for developers, reaching $10,000 in monthly recurring revenue without a single user interface. The episode dives into how he found product-market fit by solving a specific pain point: automating database migrations for teams using PostgreSQL. They discuss his pricing strategy, distribution through GitHub and developer communities, and the surprising fact that most of his customers never asked for a UI. The conversation also touches on the challenges of supporting non-technical users, the importance of documentation, and why a CLI-first approach can be a viable alternative to building a full SaaS dashboard. #SoloDev #CLITool #10KMRR #Bootstrapped #SaaS #PostgreSQL #DatabaseMigrations #NoUI #DeveloperTools #IndieHacker #CommandLine #ProductMarketFit #GitHub #PricingStrategy #Documentation #Tech #FexingoBusiness #BusinessPodcast Keep every episode free: buymeacoffee.com/fexingo

Full transcript

9 min

Transcribed and scored by The B2B Podcast Index.

Lucas: So there's this story about a solo developer who built a command-line tool that does one thing - PostgreSQL database migrations - and he hit ten thousand dollars in monthly recurring revenue without ever building a user interface. Luna: No UI at all? Like, not even a web dashboard? Lucas: Not even a settings page.

The entire product is a single binary you run in your terminal. You type a command, it migrates your database schema forward or backward. That's it. Luna: I mean, database migrations are a solved problem in a lot of ways.

There's Alembic for Python, Flyway for Java, plenty of options. What made his different? Lucas: Right, but those tools are language-specific or require configuration files. His tool is language-agnostic - a single binary that works with any tech stack.

You define your migration in SQL, and it runs them. He focused on something developers hate: the friction of setting up migration tooling in a new project. Luna: So he removed the setup friction. How did he get the word out?

Lucas: He posted the tool on Hacker News and GitHub. That's it. No ads, no outbound sales. The GitHub repo got some traction, and within a few weeks, he had a few dozen developers using it for free.

Then he added a paid tier - essentially a license for commercial use - and started charging fifty dollars per developer per month. Luna: Fifty dollars per developer per month for a CLI tool? That's steep for something that doesn't have a UI. Lucas: It sounds steep, but here's the thing: his customers are engineering teams who spend hours debugging migration scripts.

The tool automates that and prevents data loss. For a team of ten, that's five hundred dollars a month. Compared to the cost of a database outage, it's cheap. Luna: Okay, so he's selling to teams.

How did he get his first paying customer? Lucas: His first paying customer was a startup that had a production database go down because of a botched migration. The CTO found his tool on GitHub, tried it on a staging environment, and bought licenses for the whole engineering team within a week. Luna: That's a perfect use case.

So the revenue came from teams that had already felt the pain. Lucas: Exactly. And that's a key pattern in a lot of these indie hacker stories - the product solves a problem the customer has already experienced, not one they need to be educated about. Luna: Let's talk about the pricing structure.

Was it just per-developer licensing, or were there other tiers? Lucas: He started with a single paid tier: fifty dollars per developer per month, includes priority support and access to private beta features. But he also kept a free tier for open-source projects and individual developers. That free tier actually drove a lot of adoption because developers would use it on personal projects, then advocate for it at work.

Luna: So the free tier acted as a sales funnel. That's smart. But I wonder - did he ever face pressure from customers to build a UI? Lucas: He did.

Some customers, especially less technical ones, asked for a dashboard to visualize migration history. But he held firm. His reasoning was that building and maintaining a UI would multiply his workload by at least three times, and he was a solo developer. He couldn't afford the distraction.

Luna: And yet he kept growing. How long did it take him to hit ten thousand MRR? Lucas: It took about eight months from first commit. He hit two thousand MRR in month three, then five thousand by month six, then ten thousand by month eight.

The growth was fairly linear, not exponential, but it was consistent. Luna: That's impressive. What was the churn like? Lucas: Very low.

Around two percent monthly. Once teams integrated his tool into their deployment pipeline, switching costs were high. Plus, the tool was genuinely good - it rarely broke, and when it did, he responded within hours. Luna: That's the benefit of a focused product.

Fewer features means fewer bugs. But also more pressure to make those features rock solid. Lucas: Exactly. He spent most of his time on reliability and documentation.

He wrote extensive docs with examples for different database setups, and that became his main customer support channel. People would read the docs and solve their own problems. Luna: I think that's a lesson a lot of founders miss: good documentation is a growth lever. Especially for developer tools.

Lucas: Yeah, and he treated it as such. Every time a customer asked a question, he would improve the docs rather than just answering the email. Over time, the docs became a comprehensive resource that attracted organic traffic from search. Luna: Let's talk about the broader implications.

A lot of indie hackers feel pressured to build a full SaaS product with a web app, authentication, billing, a dashboard. This story suggests that for certain niches, a CLI tool can be enough. Lucas: Absolutely. If your target customer is a developer who lives in the terminal, they might prefer a CLI over yet another web app to log into.

The key is understanding your audience deeply. Luna: But it's a risky bet. If you're wrong, you've built a product that's hard to expand beyond that niche. Lucas: True, but the counterpoint is that by keeping it simple, you validate the core value proposition faster.

If people pay for a CLI tool, you know the problem is real. Then you can decide whether to build a UI later. Luna: And in his case, he never needed to. He's still at ten thousand MRR, and he's thinking about adding a UI, but only as an optional layer.

Lucas: If today's tech conversation gave you something usable, we want to mention that this show stays ad-free because of listener support. If you'd like to keep it that way, you can find us at buy me a coffee dot com slash fexingo. Luna: Yeah, we really believe in keeping the content clean and focused on what matters. No sponsors, no interruptions.

Lucas: Right. So back to the story - the developer recently shared his revenue breakdown on a podcast. At ten thousand MRR, he had about two hundred paying seats, with an average of five seats per customer account. Luna: That's forty customers.

Not a huge number. But each customer is relatively sticky. Lucas: Exactly. And his customer acquisition cost was essentially zero.

He didn't run ads, didn't hire a salesperson. The only cost was his time. Luna: What about the competitive landscape? I imagine since he launched, there've been copycats.

Lucas: There have been a few, but none have gained significant traction. Partly because he built a strong brand around reliability and documentation, and partly because the switching costs are high once you've configured the tool for your pipeline. Luna: So he's got a defensible niche. That's the dream for a solo developer.

Lucas: It really is. And it shows that you don't need a massive team or a complex product to build a sustainable business. You just need a clear problem, a focused solution, and a deep understanding of who you're building for. Luna: What's next for him?

Is he planning to stay solo or eventually hire? Lucas: He's mentioned that he's thinking about hiring a part-time support person to free up his time for building new features. But he's in no rush. The business is profitable, he enjoys the work, and the customers are happy.

Luna: It's a nice counter-narrative to the vc funded growth-at-all-costs story. Lucas: Absolutely. And I think that's why stories like this resonate with our listeners. It's proof that you can build a real business on your own terms.

Luna: So if you're a developer listening and you've been thinking about building a tool for a pain point you've experienced, maybe this is the nudge you needed. Lucas: Exactly. Start small, ship fast, and listen to your users. You might just build something that people will pay for without ever building a UI.

Luna: Thanks for the story, Lucas. That was really inspiring. Lucas: Glad you liked it. That's all for today.

Catch you next time.

Related episodes across the Index

Other episodes covering the same guests and topics, from across The B2B Podcast Index.

  • Tien Tzuo, CEO and Founder @ ZuoraVenture Passport · on SaaS pricing models84 / 100
  • Carrie Osman: Exploring the SaaSpocalypse and the Continued Rise of AISheSaas Unplugged · on SaaS pricing models72 / 100
  • The Future of Pricing: Context- Driven Pricing Model with Mark Stiving at Impact Pricing LLCMonetize: The Art Of Pricing · on SaaS pricing models72 / 100
  • EP 48 May the Fourth, Socks, and Why Performance Reviews Are Stuck in 1955 with Albert FosterThe HR Life Podcast · on SaaS pricing models66 / 100
  • When code is cheap, what becomes valuable? The new human advantage in the AI eraDevOps Sauna from Eficode · on SaaS pricing models53 / 100

More from The Indie Hacker Podcast with Fexingo

All episodes →
  • How a Solo Dev Hit 10K MRR With a SaaS That Sells to Other SaaS Companies83 / 100
  • How a Solo Dev Hit 10K MRR With a Product Hunt Launch and Nothing Else85 / 100
  • How a Solo Dev Hit 10K MRR by Selling to Universities76 / 100
  • How a Solo Dev Hit 10K MRR With a Developer Tool and No Sales Team57 / 100
  • How a Solo Dev Hit 10K MRR With a $0 Marketing Budget57 / 100
Explore the best B2B Startups & Founders podcasts →
All The Indie Hacker Podcast with Fexingo episodes →