Nuxt and Supabase as a Solo SaaS Stack
The stack I run every product on: Nuxt for the full-stack app (SSR, API routes, SEO), Supabase for auth, Postgres and storage. Why one boring, repeated stack is what lets a solo builder ship multiple products.
Every product I build runs on the same stack — Nuxt and Supabase — and that sameness is the point. Nuxt gives me a full-stack Vue app in one codebase: server-side rendering (which matters for content-led SEO), server API routes, and a single mental model for front and back. Supabase gives me Postgres, auth, storage and row-level security as a managed backend, so I never rebuild login or infrastructure. Together they let one person ship a complete SaaS. But the real leverage isn't either tool — it's using the same stack for every product, so nothing is bespoke and everything I learn transfers.
What each does
- Nuxt — the full-stack Vue framework. One codebase covers the app, the server API routes, and server-side rendering. SSR is a genuine advantage for products that lead with content or need to rank, because the pages are real HTML for search and AI engines, not an empty shell that fills in later.
- Supabase — the managed backend: Postgres (a real relational database, not a toy), authentication, storage, and row-level security for multi-tenant data. It removes the two things that eat solo builders alive — building auth, and running infrastructure.
Between them, the parts of a SaaS that used to need a backend team are just... there.
Why this combo for solo
The solo builder's constraint isn't ideas or even code — it's attention. Anything you have to think about that isn't the product is a tax. Nuxt + Supabase minimizes that tax: a Vue developer can own the whole thing, auth and database are solved, and deployment is straightforward. You stay in one language, one mental model, one codebase — and spend your thinking on the problem, not the plumbing.
The real trick: the same stack every time
For a solo builder, sameness is speed. The moment each product has its own special architecture, you've turned a portfolio into a maintenance burden no one person can carry. Boring and repeated is a feature.
Here's the discipline that actually makes multiple products possible: I use the same stack every time. That means what I learn on one product transfers directly to the next — the same deployment, the same patterns, the same debugging instincts. I can move between products without re-learning my own architecture. A different clever stack per product would be more "interesting" and completely unsustainable for one person. Boring, repeated infrastructure is exactly what frees the attention for the part that's genuinely different: the problem each product solves.
The SEO angle
Because so much of my positioning is content-led — products discovered through writing and search — Nuxt's SSR matters. Content-led products need pages that are real, crawlable HTML with proper metadata and structured data, not client-rendered shells. Nuxt gives that by default, which means the same stack that runs the app also serves the search-and-AI-discovery engine that brings people to it. One stack, both jobs.
What it's not
Honesty matters: this isn't the optimal stack for everything. Heavy real-time systems, exotic data models that fight Postgres, or products needing a large specialised backend team might be better elsewhere. But the point of a solo stack isn't per-problem optimality — it's being consistent and fast enough for the problems you actually build, so the plumbing never becomes the project.
What usually goes wrong
- A new stack per product. Chasing the interesting choice each time, and drowning in bespoke architecture no one person can maintain.
- Rebuilding auth and infra. Hand-rolling the solved problems instead of taking Supabase's, and losing weeks to plumbing.
- Client-only rendering for content products. Shipping empty shells that don't rank, then wondering why search brings no one.
- Optimizing the stack instead of the product. Polishing infrastructure that's already good enough while the actual problem waits.
Pick one solo-friendly stack — for me, Nuxt and Supabase — use it for every product, and let its sameness carry the speed while your attention goes to the problem. The best stack for a solo builder isn't the most powerful one; it's the one you already know cold and never have to think about. That's rule four of my operating system, and it's quietly why the whole thing is sustainable.
Part of Building AI Products. See also my product operating system and why most AI-built apps feel like demos. The newsletter sends one practical build lesson every two weeks.