Host a SaaS MVP for Under $10

6 setups with a frontend, an API, Postgres and your own domain, priced for the quiet months before launch

Host a SaaS MVP for Under $10

The cheapest way to host a SaaS MVP with a frontend, an API, Postgres and your own domain is a small Fly.io machine plus Neon's free Postgres, at about $2.19 a month across two bills. From one vendor on one bill, Light Cloud is the cheapest at $5 a month, with a preview of every branch and a password on the staging site included. Railway, Cloudflare and DigitalOcean also come in at $5, and Render with Neon at $7.

We make Light Cloud, the second row below. I put a cheaper setup above us because it is cheaper, and the method below says why it still might not be the one you want.

How we ranked

The reference MVP is a React frontend, a Node.js API that runs as an ordinary server process (Express, in my case), a PostgreSQL database under 1 GB and your own domain. Traffic is about 300 requests a day: you, a few friends, the first ten people from a launch post. List prices, US dollars, checked on 2026-10-13, smallest tier that does the job.

Two rules knock out a lot of free plans, and both are about the months an MVP spends waiting for users. First, the plan's own terms must not limit it to personal or non-commercial use, because an MVP exists to take money. Vercel's Hobby plan fails here: its fair use guidelines restrict it to non-commercial personal use, and taking payments counts. Heroku's $5 Eco dynos are for personal apps only. Second, nothing may pause or expire after a quiet week. Supabase's free plan pauses projects with low activity over 7 days, and a free Render database expires after 30 days.

What's left is surprisingly cheap. Most rows below use Neon's free Postgres, because Neon Free has no inactivity pause: the compute sleeps after 5 idle minutes and wakes in a few hundred milliseconds (docs). Ties are broken by the number of bills you pay, then by whether a preview of the API comes with each branch.

Kept running all month, with no scale to zero, the same MVP gets the Always on prices in the table. Light Cloud comes fifth of six there at about $56, because an always-on instance needs the $19 Starter plan and a Micro costs about $52 a month. A Worker has no documented way to stay running, so Cloudflare is listed last.

The ranking

Cheapest first; ties go to fewer billsPrices checked 13 Oct 2026
1
$2.19
The lowest bill, if you're fine with two vendors, a card on file and no billing alertsPrice: Fly machine, Neon Free
BillsTwo: Fly.io and NeonBranch previews of the APIGitHub Action, one app
2
$5
The cheapest single bill, with the database, previews of every branch and a password on staging includedPrice: all in, Lite plan
BillsOneBranch previews of the APIEvery branch, every plan
3
$5+
One bill with cron jobs and private networking, if your services stay smallPrice: plus usage over $5
BillsOneBranch previews of the APIEvery pull request, every plan
4
$5
Teams that want Cloudflare's edge and free egress, with the API as a container behind a WorkerPrice: Workers Paid, Neon Free
BillsTwo: Cloudflare and NeonBranch previews of the APIWorker Previews per branch
5
$5
A fixed $5 container with nothing metered, for an API that never needs a second instancePrice: one container, Neon Free
BillsTwo: DigitalOcean and NeonBranch previews of the APIThrough GitHub Actions
6
$7
An always-on API that never cold-starts, with Render's workers and cron there when you need themPrice: Starter service, Neon Free
BillsTwo: Render and NeonBranch previews of the APIOne service per pull request
List prices from each vendor's own pricing and docs pages, checked 2026-10-13, US dollars. Reference MVP: a React frontend, a Node.js API running as an ordinary server process, a PostgreSQL database under 1 GB and your own domain, at about 300 API requests a day. Only plans whose own terms do not limit them to personal or non-commercial use, and nothing that pauses or expires after a quiet week. Ties are broken by the number of bills, then by whether branch previews of the API are included. The Always on view keeps the API running all month with no scale to zero, at each platform's cheapest documented way to do that.

1. Fly.io + Neon

Best for: the lowest bill, if two vendors and a card on file don't bother you.

The cheapest always-on Fly machine, shared-cpu-1x with 256 MB, is $2.19 per 30 days in Ashburn or Secaucus (pricing), and it can serve the built frontend as well as the API. Machines can stop when idle, which takes the bill below that. TLS certificates are free for the first 10 hostnames, so your domain costs nothing extra. Postgres comes from Neon Free in a nearby region, $0.

The fine print is on both sides. Fly has no free tier for new accounts, needs a card after the trial, and says it doesn't support billing alerts yet. Neon Free gives each project 100 CU-hours a month, which Neon itself translates into 400 hours of its smallest compute; a database that is queried all day long runs out in about 17 days and stays suspended until the month resets. Before launch, that's rarely an issue. Previews per pull request are a GitHub Action that deploys one app, without a database.

2. Light Cloud

Best for: the cheapest single bill, with previews and a password on staging included.

The Lite plan is $5 a month, includes $5 of usage, a custom domain, five server apps and one shared PostgreSQL database (pricing). My MVP uses about $4.15 of it: $4 for the database, about 10 cents for an API at 300 requests a day (the pricing page's "quiet" example), a few cents of builds and a cent for the static frontend. So the invoice says $5 and that's the whole story. SaaS MVP hosting on one bill was the point of the plan.

Every branch you push gets its own frontend and API at their own URL, and a preview nobody opens costs nothing to run; branch previews come on every plan, Free included. A visitor password on the staging site is one setting on any plan, which the staging tutorial walks through. The database is Postgres hosting in the same project; you paste its connection string into the app as DATABASE_URL.

Where it falls short: the API scales to zero, so the first visitor after a quiet spell waits 3.1 to 3.7 seconds for it to start. The shared database tier runs in Belgium only. There are no cron jobs, no background workers, no built-in auth or email, and branch previews use the production database until you point them at another. Our Free plan would cost $0 here, but it has no databases and no custom domain, which is why Lite is the row.

3. Railway

Best for: one bill with cron jobs and private networking built in.

Hobby is $5 a month and includes $5 of usage (docs). RAM is $10 per GB a month and CPU $20 per vCPU a month, metered by actual use, so a small API and a Postgres service that average under about half a GB of RAM together stay at $5. Hobby includes two custom domains, and pull request environments that copy the whole app are on every plan.

If your MVP needs a nightly job on day one, Railway has cron jobs and we don't. Two things to know: Railway recommends its $20 Pro plan for commercial apps, though its docs stop at a recommendation, and usage over $5 is billed, so set the hard usage limit (from $10) on day one.

4. Cloudflare + Neon

Best for: teams that want Cloudflare's edge, with the API as a container.

Workers Paid has a $5 monthly minimum and includes 10 million requests (pricing). Containers, generally available on that plan since 2026-04-13, are billed per 10 ms while they run and stop charging when they sleep, with monthly allowances of 25 GiB-hours of memory and 375 vCPU-minutes (container pricing). A container that sleeps most of the day stays inside them; the smallest one awake around the clock would add about $1.70 for memory and disk. The frontend goes on Pages with free custom domains, and Postgres again comes from Neon Free. Total: $5.

The upside is Cloudflare's network and no egress charges. What you give up is simplicity: a container sits behind a Worker and a Durable Object, so there are three moving parts where other rows have one. Worker Previews, launched in September 2026, give each branch its own container instances. Budget alerts only notify; they don't cap anything.

5. DigitalOcean + Neon

Best for: a fixed $5 container with nothing metered.

The smallest App Platform container is $5 a month for 512 MiB (pricing), and the static frontend fits in the free tier with a custom domain. DigitalOcean's own development database is $7, which would push the total to $12, so Neon Free takes that job. Five dollars, flat.

The $5 size is limited to one instance; scaling out starts at the $12 size. A payment method is required before you can create anything, even a free static site. Previews per pull request mean maintaining a GitHub Actions workflow, and scale to zero is still a private preview you have to ask for.

6. Render + Neon

Best for: an always-on API that never cold-starts.

A Starter web service is $7 a month for 512 MB (pricing), always on, so no visitor ever waits for a container to start. The static frontend is free and the Hobby workspace includes two custom domains. Neon Free replaces Render's free Postgres, which expires after 30 days.

That $7 buys predictability, plus private networking, cron jobs and background workers when the MVP grows into them. On the free Hobby workspace a pull request gets a preview of one service at that service's rate, without a database; full-stack previews need the $25 Pro workspace, as the Render alternatives post goes into.

Where the others beat us

On price alone, Fly.io plus Neon is less than half of our $5, and nothing we do changes that. If you'll write the API for Cloudflare Workers itself rather than a container, Workers Free (100,000 requests a day, 10 ms of CPU per request) plus Neon Free costs $0 with your own domain on Pages. Render is the row where nobody ever waits for a cold start. Railway has cron, workers and private networking at the same $5. And every other row lets you keep the database next to an API outside Europe, while our shared database tier is in Belgium only.

Where we come out ahead is the single bill. Database, API, static frontend, your domain, a preview of every branch and a password on staging all come from one company for $5, and none of it depends on another vendor's free plan staying the way it is today. For an MVP that will grow into where to host a SaaS territory, that's one migration you won't have to do. The custom domain with SSL is part of the same $5, and you can deploy from a GitHub repository in a few minutes.

Which part of your MVP would you rather not think about for the next six months?

More articles