DEV Community

Alberto Towns
Alberto Towns

Posted on

I built a SaaS in a week with Next.js, Supabase, and Stripe — here's what I learned

Last week I went from idea to deployed SaaS in about a week of evening sessions. Here's the product, the stack, and what I learned.

The product: RentView — a rental property profit tracker for landlords with 1-10 units. It tracks income, expenses, and net cash flow per property per month. No bank integrations, no tenant management, no bloat. Just "is this property making money?"

The stack:

  • Next.js 14 (App Router) for the frontend and API routes
  • Supabase for auth, database (Postgres), and row-level security
  • Stripe for subscriptions ($9/29/49 per month)
  • Vercel for hosting
  • Tailwind CSS for styling
  • Pure SVG for charts (no recharts or Chart.js)

Key decisions:

  1. Supabase RLS means all security is at the database level — users can only query their own data regardless of what the frontend does
  2. No chart library — SVG bar charts and line charts are ~50 lines of code each and add zero bundle size
  3. Mortgage auto-calculates as a monthly expense so users don't have to log it every month
  4. 7-day free trial instead of a free tier — free tiers train users not to pay

What I learned:

  • Choosing what to build took longer than building it. Analysis paralysis is real.
  • Supabase's new publishable key format works fine with @supabase/ssr
  • TypeScript strict mode catches real bugs in Vercel builds that don't show up in local dev
  • The "minimum viable" in MVP really means minimum — ship the ugly version, not the perfect one

Check it out at https://rentview-three.vercel.appFeedback welcome.

Top comments (0)