I Learned React in 9 Months and Built a Real SaaS - Yahini

This journey starts with a quote I received from a developer to build the first version of Yahini. It was $15,000.

DC
Written by Dan Cucolea
Read Time 10 minute read
Posted on October 21, 2025

The idea was rather simple. Yahini was going to be an app that would automate the keyword research and content briefing work I was doing manually for my agency clients. Work that was eating 15-20 hours per project.

That quote is the reason this newsletter exists. It was the moment I realized I couldn’t hire my way out, and the “no-code” platforms couldn’t handle what I needed to build.

So I learned React instead.

This is the first post of Vibe Stack Lab. It’s the story of how I learned just enough code to build a real SaaS product that now serves paying customers. And it’s the start of a journey where I’ll teach you everything I learned.

I plan to show and teach you how to bridge the gap between writing prompts in tools like Lovable and actually owning your code.

The $15,000 Wake-Up Call

Back in 2023, I was running a content agency. My co-founder and I were essentially acting as content CMOs for a handful of clients, but the process was brutal and they were asking how we could integrate AI into our workflow.

For every single client we had to:

  • pull their top 20 competitors;

  • analyze 50-100 ranking keywords per competitor;

  • map each keyword to a funnel stage (TOFU, MOFU, BOFU);

  • score them by difficulty and business relevance;

  • write detailed content briefs for the priority topics.

We did all that manually. In spreadsheets. For 15-20 hours per project per month.

And after all that we actually wrote the content, which I won’t go into to much detail right now.

It was right about the time when AI started to become way more powerful , so we had an idea.

What if we productize the workflow and turn the agency into a SaaS?

Now the problem was that I couldn’t write a single line of code, and hiring developers was out.

Mainly because the quotes were way more than we could afford to burn at that time. Not to mention we spent tens of thousands of dollars over the years to build other apps that either did not work, or kept on chewing money just to keep them afloat.

Does that sound familiar?

You’re paying Bolt or Webflow $200-$600 a month, or you’re considering it.

But what happens when your AI coding agent gets stuck on a loop and starts writing gibberish code. Or worse yet, you get stuck with a bug that can’t be fixed and you start burning millions of tokens (or credits) to get it working.

Just Like a Broken Record

The agency work was repetitive in the best way.

We had frameworks that worked and proven content strategy methodologies that we’d refined over 5 years of hand-on experience.

The problem was execution. Every new client meant manually researching keywords, mapping them to funnel stages (TOFU, MOFU, BOFU), analyzing competitors, and writing detailed briefs.

I knew AI could handle this. We’d already started using it internally to speed up proposals and research. But I needed a real product, not a Notion doc full of ChatGPT prompts.

The math didn’t work to hire developers.

Even at $15,000 upfront, I’d still need them on retainer for bug fixes, feature updates, and maintenance. That would run another $3,000-$5,000 per month minimum. The only way out was to DIM (Do It Myself).

I spent about two weeks researching.

I looked at no-code tools first - Bubble, Webflow, even Airtable with Zapier. But they all had the same problem: I’d be renting my product from them forever. Plus their capabilities were limited, and it would take me months to get a good system in place.

If I wanted to move, I’d have to rebuild from scratch. After researching how people actually build web apps in 2024, React kept coming up. I found The Ultimate React Course by Jonas Schmedtmann.

My starting point? A little HTML/CSS from tinkering and some concepts from setting up tracking in Google Tag Manager, but zero real JavaScript experience. I was basically starting from scratch.

“Oh Crap”

I opened that first React tutorial and thought, “What have I gotten myself into?”

The boilerplate code looked like hieroglyphics. But I had my $15,000 motivation and 15-20 hours of manual work per client to automate. So I kept going.

Nine Months to a Real SaaS: The Honest Timeline

This wasn’t a “weekend project.” It took nine months of consistent, focused work.

My routine was simple: about three hours of studying and three hours of building every day.

Months 1–3 →

I followed Jonas’s course religiously. I did the exercises, built the tutorial projects, and tried to absorb core concepts. The first real project was a pizza ordering app. It felt silly, but it taught me how React’s component structure actually worked.

Then came a “usePopcorn” movie tracking app that introduced me to API calls and side effects. Nothing “clicked” overnight. Things just slowly became less terrifying.

Months 4–6 →

This is when I started building Yahini. I threw away my first three attempts at the core feature, which was the most complicated one (the automated keyword research engine).

My first version tried to do everything in one massive component. It was 800 lines of spaghetti code that broke every time I touched it.

My second attempt over-engineered everything into tiny components that passed props through five layers. Also terrible. State management was a nightmare. I spent an entire week trying to understand the useEffect hook.

What finally made it click was building a tiny, isolated app that did nothing but fetch data. Seeing it work in a simple context unlocked the concept.

And GPT3.5 also helped a little. Try to use it now to write code and you’ll see what I mean by little.

Months 7–9 →

I started integrating the real stack: Supabase for the database, Cloudflare Workers for the backend.

This is when I realized I was actually building something real. I had user authentication working. I had forms that saved data. I had API calls that returned actual keyword results.

This is when AI became my coding partner. I’d get stuck on a bug, feed the code to an AI, and ask it to explain the error. It was like having a senior developer who never got annoyed with my questions.

It didn’t write the app for me, it was just too stupid. I’d estimate AI maybe wrote 20-30% of the final code, mostly boilerplate and utility functions. But it massively accelerated debugging by helping me understand error messages and suggesting where to look for problems.

Then Came the Launch

I considered Yahini “launched” when the first real, non-friend user signed up, ran their domain through the system, and got a complete content strategy workbook with prioritized keywords and briefs. That was Month 11. Nine months of learning and building, plus two more months of polish and bug fixes after the first “working” version.

Today, Yahini runs on React, Hono, Supabase, and Cloudflare. The platform automatically learns a business from its URL, generates funnel-mapped keyword strategies, and creates expert-level content briefs.

My total monthly infrastructure cost is $5. This covers the Cloudflare Workers premium subscription. In addition, we have API costs, but that is part of operating costs rather than infrastructure.

Let’s do the math on the alternative. That $15,000 quote was just for the initial build. Add in retainers, maintenance, and feature requests over eleven months, and I would have easily spent over $20,000 (probably closer to $30,000 if I’m honest).

Instead, I spent a few hundred on courses and about $100 in total hosting costs, AI credits and API costs while building.

The Truth About Timelines

You see people on Twitter saying, “I built a SaaS in a weekend!” They’re either lying, or they’re not counting the years of learning that came before.

Nine months is a real timeline. It’s achievable if you’re consistent. Here’s the core philosophy of Vibe Stack Lab: platforms like Bolt and Lovable are great for testing ideas, but terrible for owning your business long-term. Traditional coding bootcamps teach you like you’re going to work at Google, which you’re not.

I believe I found a middle path, and here it is: learn just enough code and master the right tools to work with AI to build production apps. You’re not trying to become a senior engineer. You’re learning to be dangerous enough that AI becomes a superpower instead of a random code generator.

In the End, Was It Worth It?

Absolutely. Understanding core code principles is a superpower.

When a user reports a bug, I can fix and deploy it in minutes. I don’t file tickets or wait for quotes. When I wanted to add the Brand Intelligence feature that automatically analyzes a user’s website , I just built it. It took about four days of focused work alongside AI:

  • Two days to figure out how to scrape and parse website content,

  • One day to structure the AI prompts to extract brand voice

  • One more day to wire it all together and test it.

Yahini runs for $5 a month. I’m not locked into any platform’s pricing, roadmap, or limitations. When I need to add a feature or change the pricing model, I can immediately DIM (Do It Myself). That’s real freedom.

The nine months of struggle was the price of admission. But think about it this way: if I’d stuck with the agency model, I’d still be manually doing keyword research for clients right now. Instead, I have a product that does it automatically and serves multiple customers simultaneously.

This Week’s Discovery

I’ve been using Exa MCP in Kilo Code, and it’s worth highlighting because it solves a problem every builder faces: AI coding agents that confidently write broken code. Exa MCP connects Kilo Code to Exa’s search engine through the Model Context Protocol, and the killer feature is exa-code .

With this, exa searches billions of GitHub repos, documentation sites, and Stack Overflow threads to find actual working examples before my agents write anything. When I’m building a new feature in Yahini, instead of getting hallucinated API syntax or deprecated methods, the agent pulls real, current code patterns.

The difference between this and just prompting ChatGPT is that Kilo Code can execute commands, edit multiple files, and use the search results in context while building. It also includes web search, company research tools, and a deep researcher that can write comprehensive reports on technical topics.

For anyone building production apps, having an agent that verifies its code against real-world examples before touching your codebase is the difference between spending 10 minutes on a feature versus burning an afternoon debugging AI-generated nonsense.

Check it out here → **https://docs.exa.ai/reference/exa-mcp**

Let’s Build Together

Where are you on this path? Stuck in tutorials? Dreading another platform bill? Thinking about learning to code but worried about the time investment?

Reply to this email and tell me your situation. If you want to see my week-by-week learning plan from those nine months, just ask and I’ll send it over.

This is the start of Vibe Stack Lab.

The newsletter where I teach vibe coders how to graduate from expensive platforms to actually own their code.

Every week, I’ll share what I’m learning while building Yahini in production. Real costs, real timelines, real mistakes. You’ll learn the exact setup I use: React for the frontend, Cloudflare Workers for the backend, Supabase for the database. The whole stack runs for dollars per month, and you own every line of code.

The Journey Starts Now

Nine months sounds like a long time. But trust me, you from the future whishes you started today.

Welcome to Vibe Stack Lab. Let’s build.

The Weekly Dispatch

One tested agent setup every Tuesday.

Step-by-step workflows, prompt and memory configs, and real tradeoffs sent straight to your inbox. No fluff, no sponsored vendor hype.

Free weekly email. Unsubscribe anytime.

Next Post