Rebuilt a 32k-user no-code platform with 5M+ records in 8 weeks.
Full rebuild from Bubble to a custom Next.js stack, plus two weeks of aftercare.
Context
The platform had run on Bubble for over two years: 32,000 accounts, 5M+ records, and so much no-code logic that every new feature risked breaking something else. The founders wanted to build more AI features, but Bubble meant wiring everything by hand, with no real code to build on. So they decided to rebuild. The timeline was tight: the new platform had to be live within eight weeks.
This would normally be a whole team's job, but I did it on my own. I started with the business rather than the code, so I first had to understand what the product does and how the company makes money. Then I went through the existing system: the architecture, the database, and all the Bubble workflows. None of that existed as code, so normally you'd have to click through every workflow by hand just to understand it. Instead I built my own AI tools and connectors that could read the Bubble logic directly, which turned weeks of manual analysis into days. From there I designed a new database schema and data model from scratch, and set up a proper design system in Storybook before I started building. After the platform went live, I spent another two weeks on cleanup, bug fixing, and support.
Challenges
- Full-team scope, one engineerAudit, data-model redesign, backend, frontend, a design system, and a live migration. That's normally several specialists. Here it was one person, in sequence, on a tight deadline.
- Live production data5M+ records, active Stripe subscriptions, and live login state all had to move over without any downtime. No room for failure, no margin for losing data.
- Undocumented Bubble logicBubble workflows aren't code. Every rule lived in a visual editor, with no docs and nothing worth exporting. Normally you'd have to click through every workflow by hand just to work out what it does.
Key decisions
- Next.js App Router + SupabaseServer Components for catalog pages, Supabase for auth + Postgres to mirror Bubble's data model without an impedance mismatch.
- AI-assisted analysisInstead of reverse-engineering everything by hand, I built custom AI tooling early to read the Bubble logic and turn it into specs. Work that would have taken weeks was done in hours, and the whole analysis was finished in a week.
- Staged migrationCustom scripts to extract live Bubble data, transform it into the new schema, and load it into Postgres, tested in batches before the DNS swap.
Stack
- Next.js App Router
- React
- TypeScript
- Tailwind CSS
- Supabase
- PostgreSQL
- Prisma
- Drizzle
- better-auth
- Stripe
- AI Workflows
- Claude
- LLM
- MCP
- GitHub Actions
- Vite
- Turborepo
- AWS
- Serverless
- TDD
- Jest
- Vitest
- Vercel







