Case study

Indee

From AI-accelerated MVP to production Rails — in one month.

The situation

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
The problem

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 AkramFounder, Indee.co

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
The pivot

“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.

Naveed AkramFounder, Indee.co
The result

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.

Naveed AkramFounder, Indee.co

For a small team moving fast, having experienced architectural judgement in the loop has been essential to shipping responsibly.

How we ship together

1

Describe what the feature should do

2

Align on the approach together

3

AI writes the code and submits it for review

4

Julian reviews every change

5

Iterate until everything works — and nothing else breaks

6

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.”

Naveed Akram

Founder, Indee.co

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.