From AI-accelerated MVP to production Rails — in one month.
A solo founder, an AI agent, and a product that needed to ship
Naveed Akram is a seasoned SaaS operator — he previously co-founded Vestd, the UK's first equity management platform. For his next venture he wanted to build Indee.co: a platform where sound creators share and earn directly from their work — immersive audio, sound journeys, long-form works, and independent music releases.
Naveed isn't an engineer. He's a product and strategy person who decided to build the entire MVP with AI — specifically Replit Agent. The result was a working application built on React, Express, Vite, Supabase, and Stripe.
It worked. But “working” and “production-grade” are different things.
At a glance
- Founder
- Naveed Akram
- Before
- React / Express / Vite / Supabase
- After
- Ruby on Rails
- Migration time
- ~1 month
- Status
- Launched, growing MRR
A working product that had quickly outgrown its foundation.
After six months of building with AI, the codebase had grown into something that ran but resisted every attempt to improve it. The AI agent produced code that functioned — but without conventions or a framework to lean on, it made decisions that compounded into structural problems.
Naveed had used AI deliberately to validate quickly — as Indee matured, it became clear the product needed a stronger architectural foundation.
“What's clearly needed is a technical grown-up in the room to sense-check decisions. It's easy to drift into questionable territory when you rely solely on the robots.”
Naveed wasn't looking for someone to rebuild everything. He needed light-touch support — a few hours a week to steer architectural decisions, debug the hard problems, and be a safety net for reliability, performance, and security.
What the AI-generated codebase looked like
- Business logic duplicated between front-end and back-end
- Three different JavaScript bundlers running simultaneously
- Zero test coverage
- Sessions dropping, authentication inconsistencies
- Front-end and back-end not reconciling state
- Extensive AGENT_GUIDE documentation to compensate for missing conventions
“90% of what you're detailing out to the agent is already built in.”
Julian and Naveed connected through a shared background in sound and web development. But Julian was honest from the start: he hadn't touched Express in a decade. Instead of pretending, he offered what he actually brings — general architectural judgment, and a framework alternative worth considering.
When Julian reviewed the codebase, the pattern was clear. The Express/React stack required extensive documentation just to tell the AI agent how to behave — routing conventions, validation rules, authentication flows, all spelled out manually. Rails provides all of this out of the box. Less code means less surface area for AI to get wrong, and fewer failure modes in production. (For the full technical case, read why Ruby wins.)
Since the transition, Indee has been able to iterate faster with fewer regressions and more predictable releases.
Before
React + Express + Vite + Supabase. Three bundlers. Thousands of lines of agent documentation compensating for what the framework doesn't provide. Every convention had to be hand-written.
After
Ruby on Rails. Conventions built in. Authentication, routing, validation, database migrations, background jobs — all handled by the framework. The AI agent can focus on business logic instead of reinventing infrastructure.
“My thinking on JS winning due to flywheel effects is shifting. You can build a strong argument that Rails dominates in this new chapter.”
Launched, growing, and shipping with confidence
The migration from JS to Rails took about a month. Indee.co has since launched and is in active development — onboarding early creators and growing MRR.
The engagement evolved into a structured retainer: Julian reviews code changes asynchronously, provides architecture guidance on major decisions, and joins live deep-work sessions when a problem needs real-time collaboration.
Naveed ships with AI daily. Julian ensures everything that reaches production is production-ready.
“AI tools remain part of our workflow — but now within guardrails designed for reliability and security.”
For a small team moving fast, having experienced architectural judgement in the loop has been essential to shipping responsibly.
How we ship together
Describe what the feature should do
Align on the approach together
AI writes the code and submits it for review
Julian reviews every change
Iterate until everything works — and nothing else breaks
Ship it — only when it's ready
“Julian reviews our code the way I'd want a technical co-founder to — he asks the questions I hadn't thought to ask yet. That's what gives me confidence to ship fast.”
Find out where you stand.
A 30-minute intro call to understand your codebase and see if we're a good fit. No pitch, no pressure.
