· 4 min read

The $0 Stack: Shipping SaaS on Free Tiers

The exact tools I use to build and ship multiple SaaS products without spending a cent on infrastructure. Neon, Vercel, Cloudflare, and more.

The $0 Stack: Shipping SaaS on Free Tiers

I have 8 SaaS products in various stages of development. My monthly infrastructure bill is $0.

8

Products

$0

Monthly cost

TBD

Paying customers

That’s not a flex. It’s a strategy. When you’re bootstrapping multiple products, every dollar spent on infrastructure before you have revenue is a dollar that makes you feel pressure to rush, cut corners, or worse, quit.

Here’s the exact stack I use and why.

The stack

LayerToolFree tier
DatabaseNeon0.5 GB storage, autoscaling to zero
Frontend + APIVercel100 GB bandwidth, serverless functions
Static sitesCloudflare Workers100k requests/day
AuthBetter AuthOpen source, self-hosted
PaymentsStripeNo monthly fee, pay per transaction
Email/NewsletterButtondown100 subscribers free
DNSCloudflareFree plan with full DNS
Repo + CIGitHubFree for public and private repos
MonitoringVercel AnalyticsFree tier included

No AWS. No Docker in production. No Kubernetes. No $50/month database you forget to turn off.

Why Neon over Supabase, PlanetScale, or a $5 VPS

Neon’s killer feature for bootstrappers is autoscaling to zero. When nobody’s using your product at 3am, you’re not paying for a database sitting idle. When you get a traffic spike, it scales up.

async function withRetry<T>(fn: () => Promise<T>, retries = 3): Promise<T> {
  for (let i = 0; i < retries; i++) {
    try {
      return await fn();
    } catch (e) {
      if (i === retries - 1) throw e;
      await new Promise((r) => setTimeout(r, 1000 * (i + 1)));
    }
  }
  throw new Error("Unreachable");
}

Why Better Auth over Clerk or Auth0

Managed auth (Clerk, Auth0)

  • Fast to integrate
  • Pricing surprise at scale
  • Vendor lock-in
  • External dependency

Better Auth (self-hosted)

  • Slightly more setup
  • Free forever
  • No lock-in
  • Runs in your app

Clerk is great but it’s $25/month once you pass the free tier. Auth0 is enterprise pricing dressed in startup clothing.

Better Auth is open source and runs in your own app. No external dependency, no pricing surprise, no vendor lock-in. It handles email/password, OAuth, sessions, and MFA. I’ve shipped it across multiple products and never hit a limitation that mattered.

The tradeoff is setup time. Clerk is faster to integrate. But I’m building 8 products. Investing a few hours in a self-hosted auth solution pays for itself by product three.

Cloudflare Workers for marketing sites

Every product needs a marketing site. Vercel is overkill for a static site that just needs to look good and load fast.

Cloudflare Workers serve static assets from the edge, 100k requests per day free, and custom domains are included. I deploy with wrangler and forget about it. My marketing sites load in under a second globally.

The pattern that makes it work

🔑

The key isn’t any individual tool. It’s the pattern: same stack everywhere, shared components, static where possible, pay per use not per month.

  1. Same stack everywhere. Next.js, React, Tailwind, Drizzle ORM, Neon. Every product uses the same foundation. Context switching costs drop to near zero.
  2. Shared components. Auth flows, billing integration, admin dashboards. Build once, copy across products.
  3. Static where possible. Marketing sites are static. Docs are static. Only the app itself needs server-side rendering.
  4. Pay per use, not per month. Every tool in the stack charges for usage, not a flat monthly fee. Zero users = zero cost.

When to upgrade

Until then, $0.

The full list

If you’re starting a SaaS today and want to spend nothing until you have customers:

  • Neon for Postgres (free, scales to zero)
  • Vercel for Next.js apps (free, generous limits)
  • Cloudflare Workers for static/marketing sites (free, edge-deployed)
  • Better Auth for authentication (free, open source)
  • Stripe for payments (free until you process payments)
  • Buttondown for email (free under 100 subs)
  • GitHub for code and CI (free)
  • Cloudflare for DNS (free)

Total: $0/month. Total capability: enough to ship, launch, and get your first paying customers.

Stop paying for infrastructure you don’t need yet.

Roger Chappel

Roger Chappel

CTO and founder building AI-native SaaS at Axislabs.dev. Writing about shipping products, working with AI agents, and the solo founder grind.

New posts, shipping stories, and nerdy links straight to your inbox.

2× per month, pure signal, zero fluff.


#saas #devtools #building

Share this post on:


Steal this post → CC BY 4.0 · Code MIT