Led a three-person team to rebuild a real estate SaaS for production scale.
Demo Video
Banner
The starting point
Janae had built her real estate platform on Bolt to validate the
concept. The MVP worked enough to prove the market, but the codebase
was held together with duct tape. Auth was wide open. The data model
couldn't support multi-tenancy at scale. Real estate agents were
starting to ask when they could run their full transaction pipeline
on it, and the current code wouldn't survive that load.
She had a choice: keep patching, or rebuild for production. She chose
rebuild.
The decision and team setup
I assessed the existing codebase and laid out three paths with honest
trade-offs:
Patch and hope. Cheap upfront, expensive every month after.
Selective rewrite of the bottleneck systems. Split outcomes, still ships with technical debt.
Full rebuild with the Bolt prototype as functional spec. Most expensive upfront, cleanest long-term.
We aligned on full rebuild. 15 weeks, milestone-based. I led a
three-person team: myself as lead developer making architecture calls,
another developer pairing on feature delivery, and a QA specialist
running structured testing through Linear.
What I built
A full multi-tenant real estate SaaS with three user roles (Admin,
Agent, Client), real estate-specific workflows, and the operational
depth required to run actual transactions through it.
Stack:
Next.js, TypeScript, Tailwind for the frontend
Supabase with row-level security policies for multi-tenant data isolation
PostgreSQL for the relational data, with careful indexing on high-traffic queries
Stripe for subscription billing
Google Workspace (Gmail, Calendar) for transaction-related communication and scheduling
[GIF embedded showing platform across mobile, tablet, desktop]
What's in the platform:
Admin dashboard with platform-wide metrics, user management, security controls
Agent dashboard with active deals, upcoming tasks, performance metrics
Transaction detail view with financials, closing and possession tracking, key contacts, in-app messaging
Mobile experience with calendar integration, working hours, financial details, document review
Document workflows for purchase agreements, disclosure statements, HOA docs
Notifications system for milestone passes (closing date, effective date, contract date)
Tutorials and onboarding for new agents
[Screenshot: User management with role-based access]
[Screenshot: Transaction detail view]
[Screenshot: Mobile deal flow]
The architecture decisions
A few choices worth calling out:
Shared database with RLS policies over schema-per-tenant. Right call for the expected tenant count, simpler migrations, native Supabase support.
Server-side rendering for agent-facing surfaces. SEO doesn't matter, but cold-start performance does for agents loading deal pages mid-call.
Linear-driven sprint cadence with structured code review and QA at every milestone. Slower than cowboy-pushing to main, but production stability was the point.
What shipped
Production-ready platform running real transactions. Multi-tenant,
role-based, scalable beyond the original Bolt MVP's structural
ceiling.
How I work
I take on rebuilds like this in 12-20 week milestone-based engagements
with a small team. If you're sitting on a vibe-coded MVP that's stopped
scaling, the right move is usually a structured rebuild before the
technical debt costs you more than the rebuild would. I can lead that
work.