People assume shipping a website or an app means paying for servers. It does not. The free tiers from the major platforms are now generous enough to run a real, live product on, with a real database and a real domain, for zero dollars a month. Every app and site I run, including this one, lives on free infrastructure. Here is the stack.
Hosting the front end: Vercel, Cloudflare, Netlify #
For websites and web apps, three platforms host you for free:
- Cloudflare Pages is my default. Static sites and front ends deploy free, with a global CDN, free SSL, and no bandwidth bill worth worrying about. Cloudflare also gives you free DNS and can put your whole site behind its network for nothing.
- Vercel has a free hobby tier that is excellent for Next.js and other frameworks, with automatic deploys straight from your Git repo.
- Netlify and GitHub Pages round it out. GitHub Pages in particular hosts any static site free, straight from a repository.
Between these, hosting a personal site or a small app is simply a solved, free problem.
The database: MongoDB Atlas, Supabase, Neon #
The part people assume they have to pay for, a real database, is also free at the sizes most projects need:
- MongoDB Atlas has a free forever M0 cluster. It is small, but it is a genuine cloud database that is plenty for a side project or an early product.
- Supabase gives you a free Postgres database with authentication, storage, and APIs on top. For a lot of apps this is the entire backend, free.
- Neon offers a serverless Postgres free tier that scales to zero when nothing is using it, so you pay nothing while it sits idle.
The rest of the plumbing, also free #
- Cloudflare Workers and R2 run serverless functions and object storage with free tiers, and R2 famously does not charge for egress, which is where storage bills usually explode.
- Auth comes free with Supabase, or from other providers with free tiers.
- Email, analytics, error tracking, almost all of it has a free tier big enough for a project that is not yet making money.
The one thing worth paying for: the domain #
The single cost I do pay is a domain name, and even that is cheap. A .com from Porkbun or Cloudflare runs about ten to fifteen dollars a year. That is the whole hosting budget for a real, live product: roughly a dollar a month for the name, and free for everything else.
Watch the catch #
Free tiers change, so two rules. First, read the current limits before you commit, since platforms occasionally cut or remove a free plan, and you do not want your database on the one that just did. Second, free tiers throttle or sleep under load, which is fine for a project with light traffic and something to fix later if you ever get real scale. That is a good problem, and by the time you have it, the app is earning enough to pay its own bills.
The move #
- Front end on Cloudflare Pages or Vercel, deployed from Git.
- Database on MongoDB Atlas, Supabase, or Neon, whichever fits your stack.
- Serverless bits and storage on Cloudflare Workers and R2.
- Buy one cheap domain and point it at the free host.
This is exactly how I shipped the apps I have built without a hosting bill. The barrier to putting something real on the internet is not money anymore, it is just doing it. More of the build-it-for-cheap mindset is over in Frugal SF.