4 min read
On this page

Free Tiers & Managed Services

You can run a production-ready startup on under $50 per month. Not a toy. Not a demo. A real product serving real customers and processing real payments. The cloud providers and SaaS companies have made it possible to build infrastructure that would have cost thousands per month a decade ago for nearly nothing today. The catch is knowing which services to use and which to avoid.

The rule is simple: do not run what you can rent. Every service you self-host is a service you maintain, monitor, patch, back up, and debug at 3am. Let someone else do that. Your job is to build the product.

A Production Stack for Under $50/Month

Service                  | Provider              | Cost
-------------------------|-----------------------|------------------
Frontend hosting         | Cloudflare Pages      | Free
                         | or Vercel             | Free (hobby)
Backend hosting          | Railway               | $5/month
                         | or Fly.io             | $5-10/month
                         | or a VPS (Hetzner)    | $4-5/month
Database                 | Neon (managed Postgres)| Free tier (0.5GB)
                         | or Supabase           | Free tier (500MB)
                         | or Turso (SQLite)     | Free tier
Authentication           | Clerk                 | Free (up to 10K MAU)
                         | or Supabase Auth      | Free
                         | or Auth.js (self-run) | Free
Payments                 | Stripe                | Per-transaction only
Email sending            | Resend                | Free (100/day)
                         | or Postmark           | Free (100/month)
File storage             | Cloudflare R2         | Free (10GB)
                         | or S3                 | ~$0.50/month
Error tracking           | Sentry                | Free (5K events/month)
Uptime monitoring        | UptimeRobot           | Free (50 monitors)
DNS & CDN                | Cloudflare            | Free
CI/CD                    | GitHub Actions         | Free (2,000 min/month)
-------------------------|-----------------------|------------------
Total                    |                       | $5-15/month

This is not a theoretical exercise. Thousands of indie hackers and small startups run exactly this kind of stack. Pieter Levels runs multiple profitable SaaS products on a single VPS. Many Y Combinator startups launched their MVPs on infrastructure that cost less than a Netflix subscription.

Why Managed Services Win at Early Stage

Self-hosting Postgres:
  - Provision a server ($5-20/month)
  - Install and configure Postgres
  - Set up automated backups
  - Configure monitoring and alerting
  - Apply security patches
  - Handle connection pooling
  - Plan for failover
  - Wake up at 3am when disk fills up
  Total time investment: 2-3 days initially, 2-4 hours/month ongoing

Managed Postgres (Neon, Supabase, Railway):
  - Click "create database"
  - Copy the connection string
  - Backups are automatic
  - Monitoring is built in
  - Patches are handled
  - Scaling is one click
  Total time investment: 10 minutes initially, 0 hours/month ongoing

The math is obvious. Your time is worth far more than the difference in cost. A managed Postgres instance at 015/monthversusaselfhostedonethatcosts0-15/month versus a self-hosted one that costs 5/month but requires hours of your attention each month is not even close.

The Free Tier Landscape in 2026

Free tiers change frequently. Here is what is generally available and reliable:

Hosting

Cloudflare Pages:
  - Static sites and serverless functions
  - Unlimited bandwidth
  - 500 builds/month
  - Excellent for: Frontend SPAs, static sites, Jamstack
  - Not suitable for: Long-running processes, WebSockets

Vercel:
  - Next.js and other frameworks
  - 100GB bandwidth/month
  - Serverless functions with 10-second timeout
  - Excellent for: Full-stack Next.js apps
  - Hobby plan limitation: no commercial use (technically)

Fly.io:
  - 3 shared VMs, 256MB RAM each
  - 160GB outbound bandwidth
  - Excellent for: Small backend services, APIs
  - Catch: Resource-limited, need to upgrade quickly

Railway:
  - $5/month credit on starter plan
  - Excellent for: Quick deploys from GitHub, managed everything

Databases

Neon (Postgres):
  - Free tier: 0.5GB storage, autoscaling to zero
  - Branching for development environments
  - Excellent for: Most startup workloads up to moderate scale

Supabase (Postgres + Auth + Storage):
  - Free tier: 500MB database, 1GB file storage, 50K MAU auth
  - Real-time subscriptions included
  - Catch: 2 free projects, paused after 1 week inactivity

PlanetScale (MySQL):
  - Free tier was removed, but hobby plan is affordable
  - Branch-based schema changes

Turso (SQLite):
  - Free tier: 9GB storage, 500 databases
  - Edge-replicated SQLite
  - Excellent for: Read-heavy workloads, per-user databases

Redis/Valkey:
  - Upstash: Free tier, 10K commands/day
  - Good enough for: Session storage, rate limiting, simple caching

Authentication

Clerk:
  - Free: up to 10,000 monthly active users
  - Includes: Email/password, OAuth, MFA, user management UI
  - Excellent for: Quick auth setup with good UX

Supabase Auth:
  - Free: 50,000 MAU
  - Includes: Email, OAuth, phone auth, magic links
  - Best if you are already using Supabase for database

Auth.js (formerly NextAuth):
  - Free forever (self-hosted library)
  - You manage the session storage
  - Best if you want full control and minimal dependencies

Firebase Auth:
  - Free: 10,000 verifications/month for phone, unlimited for email
  - Watch out: vendor lock-in to Google ecosystem

Everything Else

Payments:
  Stripe — no monthly fee, 2.9% + $0.30 per transaction
  No viable free alternative. Stripe is worth the transaction fees.

Email:
  Resend — 100 emails/day free, then $20/month for 50K
  Postmark — 100 emails/month free
  SendGrid — 100 emails/day free

File storage:
  Cloudflare R2 — 10GB free, no egress fees (this is the big deal)
  S3 — effectively free at small scale, but watch egress costs

Error tracking:
  Sentry — 5,000 events/month free
  Enough for early stage. You will exceed this quickly.

Analytics:
  PostHog — 1M events/month free (generous)
  Plausible — $9/month (privacy-focused, simple)
  Umami — free, self-hosted

Search:
  Meilisearch Cloud — free tier available
  Algolia — 10K search requests/month free

Don't Run Your Own Database Cluster at Seed Stage

This point deserves its own section because it is the most common mistake.

Arguments for self-hosting the database:
  "It's cheaper" — No. Your time is not free.
  "I want full control" — Over what? Backup schedules? Replication?
    You have a product to build.
  "Managed services are slower" — They are not, for your scale.
  "I don't want vendor lock-in" — Postgres is Postgres. Moving
    between managed providers is a connection string change.

Arguments for managed database:
  - Automatic backups (tested and verified)
  - Point-in-time recovery
  - Security patches applied without your involvement
  - Monitoring and alerting out of the box
  - Connection pooling handled
  - Someone else's pager goes off at 3am

The only valid reason to self-host a database at seed stage is if your product IS a database or data infrastructure product. If you are building a project management tool, use Neon. If you are building a database tool, self-host whatever you need.

Choosing Between Providers

Decision framework:
  1. Does a free tier exist that covers your needs? Use it.
  2. Is the free tier from a provider you already use? Use that one
     (fewer accounts, fewer billing relationships).
  3. Will you outgrow the free tier in less than 3 months?
     Start on the paid tier to avoid a migration during growth.
  4. Is the provider likely to be around in 2 years?
     Avoid brand-new startups for critical infrastructure.
  5. How painful is migration if you need to leave?
     Prefer standard APIs (S3-compatible, Postgres-compatible).

Scaling Beyond Free Tiers

Free tiers are designed to get you started, not to run your company forever. Know when you will outgrow them:

Common free tier limits and when you hit them:
  Neon 0.5GB:     ~50K-100K rows depending on schema width
  Supabase 500MB: Similar to Neon
  Vercel free:    When you need more than 10-second function execution
  Sentry 5K/month: When you have >500 daily active users (roughly)
  Clerk 10K MAU:  When you have 10K monthly users (obviously)

When you hit a limit:
  - Upgrade to the paid tier. Do not engineer around free tier limits.
  - The paid tiers are usually $10-25/month. This is nothing compared
    to the engineering time you would spend working around limits.

Common Pitfalls

  • Optimizing for free instead of fast. If a free service takes an extra day to set up compared to a 10/monthservice,usethepaidone.Yourtimeatseedstageisworthmorethan10/month service, use the paid one. Your time at seed stage is worth more than 10.
  • Using too many providers. Each provider is a login, a billing relationship, a set of docs to learn, and a potential point of failure. Consolidate where possible. Supabase gives you database + auth + storage in one place.
  • Ignoring egress costs. AWS and GCP charge for outbound data transfer. Cloudflare R2 does not. At small scale this does not matter. At moderate scale it can be the largest line item on your cloud bill.
  • Building on unstable free tiers. Some startups offer generous free tiers to acquire users, then remove them. Heroku's free tier removal in 2022 is the canonical example. Prefer providers with a business model that supports free tiers long-term (Cloudflare, Vercel, Supabase).
  • Rolling your own auth. Authentication is the most commonly self-built service that should never be self-built. Password hashing, session management, OAuth flows, MFA, account recovery — every one of these has security implications. Use a service.
  • Ignoring the migration path. When you choose a provider, ask: "How do I leave?" If the answer involves proprietary formats or APIs that do not map to standard alternatives, reconsider.

Key Takeaways

  • A production-ready stack costs $5-15/month using free tiers and cheap managed services. There is no financial reason to self-host anything at seed stage.
  • Do not run your own database, authentication, email delivery, or file storage. Let someone else handle ops, backups, and security patches. Your job is building the product.
  • Prefer providers with standard interfaces (Postgres-compatible databases, S3-compatible storage) to minimize lock-in.
  • Know your free tier limits and upgrade to paid tiers when you hit them. Engineering around free tier limitations is more expensive than paying $10/month.
  • Consolidate providers where possible. Fewer accounts, fewer billing relationships, fewer things to monitor.