Engineering · 2025-02-15
How I built a full SaaS in 3 weeks with Claude Code, Next.js, and Supabase
A technical breakdown of how I shipped Courtsight — a full club management platform — in 3 weeks as a solo developer, and what made it possible.
The constraint
Three weeks. One developer. A full-featured SaaS with authentication, a database, a dashboard, real-time features, and a deployed production environment.
That's what it took to ship Courtsight — a management platform for padel clubs covering player profiles, tournaments, and court operations. Here's what made it possible and what I'd do differently.
The stack
- Next.js 15 — App Router, server components, and API routes
- Supabase — Postgres database, auth, real-time subscriptions, row-level security
- Tailwind CSS — utility-first styling, fast to iterate
- Claude Code — AI-assisted development throughout
- Vercel — deployment (zero config, just works)
This stack is boring in the best way. Each piece is well-documented, has great DX, and handles the infrastructure concerns so I can focus on product logic.
How Claude Code changed the workflow
The honest answer to "how did you ship so fast" is: Claude Code handled a significant chunk of the implementation work, and I directed it.
What that looked like in practice:
Schema design: I described the domain (clubs, players, courts, bookings, tournaments) and had Claude draft the Postgres schema. I reviewed it, made adjustments, and had it generate the Supabase migration files. This took 30 minutes instead of a day.
Boilerplate elimination: Authentication flows, CRUD routes, form validation, error handling — all the stuff that's necessary but not interesting. Claude wrote the first draft; I reviewed and adjusted. Net result: I spent my time on the actual product decisions, not the plumbing.
Debugging: When something broke, explaining the bug and relevant code to Claude and getting a targeted fix was faster than reading Stack Overflow. Not always — sometimes you need to go deep yourself — but for common patterns it's dramatically faster.
What I still did myself: The product design decisions. What features to build, how they should work, what to cut. The data model decisions that had non-obvious tradeoffs. Performance tuning. Anything that required understanding the full context of the project.
Supabase as a force multiplier
Supabase replaced what would have previously been weeks of backend work:
- Auth — email/password, magic links, and social login in under an hour
- Row-level security — fine-grained access control at the database level, not in application code
- Real-time subscriptions — for live court availability updates, no WebSocket infrastructure to manage
- Edge Functions — for webhook handlers and background jobs without spinning up a separate server
The Supabase dashboard also means I can give clients a way to see their data without building an admin UI for everything.
What I'd do differently
Type safety from day one. I generated TypeScript types from the Supabase schema partway through and had to refactor a bunch of code. Do this immediately after your first migration.
More aggressive feature cutting. I built some things that aren't used yet. When you're moving fast, it's tempting to add "just one more thing." Resist it. Ship the core loop, get feedback, then add.
Better error states. I was focused on the happy path. A real SaaS needs good error handling and loading states throughout. I've been going back and adding these — it's tedious to retrofit.
The actual timeline
- Week 1: Schema, auth, core data models, basic CRUD for players and courts
- Week 2: Tournament management, booking system, dashboard views
- Week 3: UI polish, edge cases, deployment, initial testing with real data
Doable, but it required focused execution. No context switching, no meetings, just building.
Is this the future of solo SaaS development?
Yes, with caveats. The tools available now (Claude Code, Supabase, Vercel, Next.js) make it genuinely possible for a solo developer to ship production-quality software at a pace that would have required a small team 3 years ago.
But the judgment of what to build, the product intuition, the understanding of the user — that still comes from the developer. AI accelerates execution, it doesn't replace direction.
Courtsight is in beta. If you run a padel club and want to try it, get in touch.

