Home / Blog / My $10K MRR SaaS Was Built by Someone Who Never Le...

My $10K MRR SaaS Was Built by Someone Who Never Learned to Code — Here's Why That Should Make You Un

By CaelLee | | 11 min read

My $10K MRR SaaS Was Built by Someone Who Never Learned to Code — Here's Why That Should Make You Un

Last Tuesday, I watched a 19-year-old build a fully functional customer support chatbot in 47 minutes using natural language prompts. No IDE. No terminal. No Stack Overflow tabs. Just typing what he wanted in plain English while an AI generated the code, deployed it, and configured the DNS.

I felt two things simultaneously: pure amazement and a cold knot in my stomach.

Because three years ago, I spent 11 months learning JavaScript before shipping my first line of production code. And this kid? He'd never written a function in his life.

This is vibe coding — the emerging practice of building software by describing what you want rather than writing syntax. And if you're a professional developer like I was, it should unsettle you. Deeply. Not because AI will replace you tomorrow. But because the barrier to entry you've built your career on is dissolving faster than anyone predicted.

Actually, wait — "unsettle" is probably too strong. Let me walk that back. It should make you think. There's a difference between fear and the sinking realisation that the ground underneath your skills is shifting. I'm feeling the second one. A lot.

The Moment I Realised Everything Changed

Let me rewind to March 2023. I was at $6,200 MRR with my Shopify analytics tool, grinding through feature requests. My churn was creeping up — hit 4.2% that month, which stung badly — and I needed to ship a custom report builder fast.

I'd been coding for 3 years at that point. Self-taught. JavaScript, React, Node.js — the standard indie hacker stack. I was competent but slow. Every feature took 2-3 weeks because I'd hit edge cases, debug race conditions, and fight with state management. (Whoever designed Redux... I have thoughts. Not helpful ones.)

Then my friend Marcus — runs a newsletter tool doing maybe $3k MRR, you probably haven't heard of it — showed me what he'd built over a weekend using Cursor and Claude. A complete A/B testing engine.

A weekend.

I asked him how much code he actually wrote.

His answer: "Maybe 200 lines? I mostly just described what I wanted and fixed the things that broke."

He showed me his Cursor history. He'd typed things like "add a button here that splits traffic 50/50 and tracks conversion events" and the AI just... did it. He didn't know how the routing logic worked. Didn't care.

That was my wake-up call.

What Vibe Coding Actually Looks Like in Production

Here's the uncomfortable truth: describing software is becoming more valuable than writing it.

I've now integrated AI-assisted development into my workflow for 8 months. Here's what my process looks like compared to 2023:

Task2023 (Manual)2024 (Vibe Coding)
New feature (medium complexity)14-18 days3-5 days
Bug fixes2-4 hours each20-45 minutes
Database schema changes1-2 days (with migration testing)2-3 hours

My MRR has grown from $6,200 to $10,400 in that period. Not because I'm a better programmer — I'm arguably writing less code than ever. But I'm shipping faster, testing more ideas, and failing quicker.

Last month I shipped 7 features.

SEVEN.

In 2022, I shipped 14 features the entire year. Let that sink in.

The person who benefits from vibe coding isn't the one who understands monads or design patterns. Honestly, I still can't explain what a monad is. It's the one who deeply understands what users need and can articulate it clearly.

I think that's the part most developers are missing. They're so deep in the "how" that they've forgotten the "why" is what actually matters.

The Barrier Was Never About Syntax

Pieter Levels famously built Nomad List and Remote OK as a "non-technical" founder who just Googled everything and copied Stack Overflow answers. I remember reading his interview on IndieHackers back in 2018 and thinking "that's cute but it won't scale."

I was wrong. Obviously.

He was vibe coding before the term existed — describing what he wanted and figuring out just enough to make it work. The difference now?

You don't even need to know what to Google anymore.

I hired a customer support person last year, Sarah. Zero coding experience. Like, genuinely zero — she asked me what a "server" was during her first week. Last month, she built an internal dashboard to track support ticket patterns using Retool and natural language prompts. Took her 4 days. It's ugly but functional. Saves us 6 hours a week.

A year ago, I would have needed to build that. Or hire a freelancer for £1,600. Now it just... exists. Because someone who understood the problem could describe the solution.

The professional developer's moat was never about typing speed or syntax memorisation. It was about:

  1. Knowing what's possible
  2. Translating business requirements into technical specifications
  3. Debugging when things inevitably break

Vibe coding is systematically dismantling #2. And #3 is getting easier every quarter — Claude 3.5 Sonnet in October 2024 caught a race condition in my analytics pipeline in 12 seconds that took me 4 hours to find last spring.

Four. Hours.

What I'd Do Differently If I Started Today

I've been thinking about this a lot. Probably too much, honestly. My girlfriend told me I was muttering about "prompt engineering" in my sleep last week. Not my finest moment.

If I were starting from zero in November 2024, here's what I'd do:

1. Learn product thinking, not programming syntax

I spent 11 months learning JavaScript before building anything useful. Today, I'd spend 2 weeks learning enough to understand what AI generates, then immediately start building. The fastest way to learn what's possible is to describe things and see what breaks.

Ship something janky. Watch it fail. Ship again.

2. Build distribution before product

The hard part of indie hacking was never the code. Not even close. It was getting people to care. I'd spend 70% of my time building an audience, understanding a specific niche's problems, and only then describing solutions into existence.

My Twitter account has 3,400 followers now — should've started it two years earlier.

3. Charge for outcomes, not technical complexity

My first pricing was based on "number of features."

God, that was dumb.

That's a race to the bottom when features become cheaper to build. Now I charge based on revenue impact — the actual metric my customers care about. That's a moat no amount of vibe coding can erode.

4. Double down on the "last mile" of software

AI can generate 90% of an application. But that last 10% — the edge cases, the performance optimisation, the security hardening, the UX polish — still requires real engineering judgement. I'd specialise in that last mile and charge premium rates for it.

The stuff that makes you go "huh, that's weird" at 2am? That's where the money is.

The Numbers That Keep Me Up at Night

I track something I call "code authorship ratio" — what percentage of new production code in my product was generated by AI vs. written manually by me.

Landing page redesign1 week1 afternoon
QuarterAI-GeneratedHuman-Written
Q1 202435%65%
Q2 202452%48%
Q3 202471%29%

That trend line.

Look, I don't want to be dramatic, but when I plotted this in October I just stared at the screen for maybe 20 minutes. The slope is steep. And I'm a developer. Imagine what this looks like for someone starting today with no coding baggage — they're probably at 95%+ from day one.

My customer acquisition cost has dropped from $48 to $31 because I can now build landing pages, onboarding flows, and demo environments in hours instead of weeks. That's real money. But my technical competitive advantage?

Evaporating. Rapidly.

The moat is shifting to:

None of these require writing code.

Not a single one.

The Hard Conversation We Need to Have

Here's what I'm not saying: "Developers are obsolete."

That's lazy thinking. Genuinely lazy. The kind of take you see in LinkedIn comments from people who've never shipped anything.

But I am saying: the days when "I can code" was a sufficient competitive advantage are over. The market is flooding with people who can describe software into existence. What's scarce now is:

I've watched too many talented developer friends spend months perfecting technical architecture for products that never find users. Meanwhile, a marketer with ChatGPT is shipping janky MVPs, getting real feedback, and iterating toward product-market fit in weeks.

The professional developer who thrives in 2025 won't be the one who writes the cleanest code. It'll be the one who combines technical judgement with product intuition, business acumen, and distribution skills.

Vibe coding doesn't eliminate the need for developers. It eliminates the requirement that you need to be a developer to build software.

My Honest Prediction for 2025

I think we'll see a bifurcation:

Tier 1: The "software describers" — domain experts, marketers, and founders who use AI to build 80% solutions quickly. They'll capture markets through speed and customer understanding. Their products will be functional but technically mediocre.

(Honestly, have you looked at the code Cursor generates? It works. It's also... not elegant. Lots of useEffect hooks where they don't belong. Nested ternaries that would make your computer science professor weep.)

Tier 2: The "engineering craftspersons" — developers who handle the hard 20%. Performance at scale, security, complex integrations, regulatory compliance. They'll command premium rates because their skills become more scarce as the easy stuff gets automated away.

The middle ground — the developer who builds standard CRUD apps competently but without deep specialisation — that's the danger zone. That work is being commoditised in real-time.

I'm positioning myself as a bridge: someone who can vibe code the 80% fast AND handle the 20% when it matters. But honestly? I'm not sure that position exists long-term.

The market might force me to pick a side. Probably sooner than I'd like.

Key Takeaways (Because Who Reads 1,500 Words Straight Through?)

What This Means for You (And Me)

If you're a developer reading this, I'm not here to scare you. I'm here with the conversation I wish someone had forced me to have two years ago:

Your career security doesn't come from how well you type code. It comes from how well you understand problems and deliver value.

Start building your non-coding muscles now. Learn distribution. Learn sales. Learn a specific industry's pain points deeply. Because the code itself?

It's becoming a commodity.

Faster than any of us expected. Faster than the predictions. Faster than feels comfortable to admit out loud.

I'm still figuring this out myself. My product is growing, but my identity as a "developer" feels increasingly outdated. These days, I describe myself as a "founder who uses technology" rather than a "technical founder."

The distinction matters more than I want to admit.

I'm Emma, and I build in public at $10k+ MRR with my Shopify analytics SaaS. No VC, no team — just me, some AI tools, and a lot of customer conversations. (Okay, Sarah helps with support. But that's it.)

What's your take? Are you seeing vibe coding change how you work? I'm genuinely curious if other indie hackers are feeling this shift or if I'm just in a bubble. Drop a comment below — I read every single one, even the ones telling me I'm wrong.

P.S. — If anyone wants to see the actual Cursor prompts I use, I posted a thread about it last month. Should be pinned on my profile.

buildinpublic #saas #bootstrapping #vibecoding #ai #indiedev #softwareengineering #futureofwork

Q4 2024 (so far)84%16%
C

Cael Lee

Full-stack developer with 8+ years of experience. Currently building AI-powered developer tools. I've tested 20+ AI API providers and coding assistants.

Ready to get started?

Get your API key and start building with 180+ AI models.

Get API Key Free