Hien Phan
Hien Phan
WorkAI craftWritingAbout
WorkAI craftWritingAbout

Apps

SpeakEn
Back to Writing

My Tech Stack for Building Products Fast

A personal dive into why I chose Next.js and Supabase for rapid prototyping, the unexpected challenges I faced, and my practical workflow for building fast.

June 10, 2024•4 min read•Hien Phan
Indie Hacking
mvp
productivity
technology
building-in-public

My 'Minimum Viable Stack': Building Products with Next.js & Supabase (and Less Stress)

I used to get so bogged down by choosing the "perfect" tech stack. It felt like every new project was a week-long research mission, comparing frameworks, databases, authentication providers - you name it. The pressure to get it "right" from day one was paralyzing.

This constant overthinking meant I was spending more time planning to build than actually building. It was a classic case of analysis paralysis, and frankly, it was exhausting. I needed a way to cut through the noise and just start shipping.

That's where my "Minimum Viable Stack" came in. For me, this means using tools that are powerful, developer-friendly, and allow for incredibly rapid iteration. My go-to combination these days is Next.js for the frontend and backend, and Supabase as my backend-as-a-service.

A clean desk setup with a laptop showing a Next.js dashboard and a phone displaying a Supabase notification

Why this combo?

  • Next.js: It’s a React framework that handles so much for you - routing, server-side rendering, API routes, image optimization. It lets me build full-stack applications with a single codebase and a familiar language (JavaScript/TypeScript). The developer experience is top-notch.
  • Supabase: Think of it as an open-source Firebase alternative. It provides a PostgreSQL database, authentication, storage, and real-time subscriptions, all with a fantastic API. Setting up a database and user management takes minutes, not days.

My "Lean Stack Workflow" looks something like this:

  1. Project Setup (Next.js + Supabase): I spin up a new Next.js project with create-next-app.

Then, I create a Supabase project (which is free to start). I connect them using the Supabase JS client library.

This usually takes less than an hour. 2. Authentication First: Supabase makes auth a breeze.

I implement email/password or social logins using their pre-built UI components or custom forms. Getting users signed up and logged in is often the first hurdle, and Supabase clears it quickly.

A screenshot showing Supabase's authentication dashboard with user sign-up options 3. Database Schema & APIs: I define my database tables in Supabase.

Their auto-generated APIs mean I can start querying and mutating data immediately with simple JavaScript calls. No need to build REST endpoints from scratch for basic CRUD operations.

  1. Frontend Development: I build out the UI components in Next.js, fetching data from Supabase. Server components and API routes in Next.js integrate seamlessly with Supabase for secure data fetching.
  2. Deployment: Vercel is my go-to for deploying Next.js apps.

It integrates directly with my Git repository and deploys automatically on every push. The speed of deployment is incredible.

A Vercel deployment dashboard showing a successful Next.js application deployment

Of course, it's not always perfectly smooth. I've hit snags with complex database queries that are easier in raw SQL than Supabase's generated APIs, or when I need highly custom backend logic that goes beyond what Supabase's edge functions can easily handle. But for the majority of features in an MVP, this stack shines.

The biggest win? I can get a functional MVP with user accounts and basic data persistence up and running in a matter of days, not weeks. This allows me to test ideas with real users much faster and get that crucial feedback.

My takeaway for you: If you're feeling stuck in the tech stack decision-making loop, consider a "Minimum Viable Stack" approach. For many web applications, Next.js and Supabase offer a powerful, yet simple, foundation to build on.

Focus on getting your core idea into the hands of users first. You can always optimize or swap out components later.

What's your go-to stack for rapid prototyping? Let me know in the comments!

Previous

How My Perfect Idea Died in 3 Days

Hien Phan
Hien Phan

Full-stack engineer shipping production-grade web systems. Real apps, real stack.

Navigate

  • Work
  • Writing
  • About
  • Contact

Live apps

  • SpeakEn

Reach out

harrisonphan5@gmail.com

Saigon, Vietnam
Product-minded teams. AI-native product work welcome. Remote-friendly. Based in Vietnam (GMT+7).

© 2026 Hien Phan. All rights reserved.

Built with Next.js · TypeScript · SQLite · self-hosted KVM