Politik hit #2 on the App Store.Read more

Cost & planning

What Your App Costs to Run Per Month at 1K, 10K and 100K Users

Your app costs very little to run at launch and then climbs in steps, not a line. Here is what goes in the bill at 1K, 10K and 100K users, and where the surprises come from.

Nate Laquis10 min read

The Bill Is Smaller Than You Fear and Stranger Than You Expect

Most founders ask me about build cost and forget the other number, the one that arrives every month for as long as the product lives. Your app infrastructure cost per month is rarely the thing that kills a company. It is, however, the line item that surprises people, because it does not grow in a straight line and it does not grow where you are looking.

Here is the short version. At 1,000 monthly active users, a sensible app costs somewhere between nothing and a few hundred dollars a month to run. At 10,000, expect low hundreds to a couple of thousand. At 100,000, you are in the mid four figures to the low five figures, and the spread is wide because a few decisions dominate the total. Those are my estimates from watching products grow, not a benchmark, and I will tell you what pushes each number up or down so you can adjust for your own app.

Pricing pages change every quarter, so treat every dollar figure here as a rough range and check the vendor before you commit. The shape of the bill is what lasts, and the shape is what I want you to leave with.

Server racks in a data center with blue indicator lights

What Actually Goes in the Bill

People picture one invoice from one cloud. In practice you pay ten or so vendors, most of them small, and the sum is what matters. Here is the full list, in roughly the order they show up.

Hosting and compute

Your frontend and API run somewhere. On a platform like Vercel, Render, Railway or Fly.io, a starter app costs $0 to $40 a month and a busy one costs a few hundred. On raw AWS or Google Cloud with containers, the compute itself is often cheaper but you pay in setup time and in the invoice detail you now have to read.

Managed Postgres

Supabase, Neon, RDS and PlanetScale-style offerings all do the job. Expect $0 to $25 at the start, $50 to $300 once you need real memory and a replica, and well past $1,000 when a single database is carrying serious traffic. This is usually the most important line in the whole bill, because the database is the one part you cannot casually swap.

Auth

Clerk, Auth0, Firebase Auth, Supabase Auth and Cognito all charge differently. Some are free up to a generous user count, some bill per monthly active user. Read this one carefully. I come back to it below.

File storage and CDN

Photos, uploads, PDFs and video go in S3, Cloudflare R2 or similar. Storage is cheap. Delivering the files is where the money goes, and a CDN in front keeps that manageable.

Email, SMS and push

Transactional email through Resend, Postmark or SES is a few dollars to a few hundred. Push notifications are close to free. SMS is the exception. A text costs a cent or several depending on country, and one-time passcodes by SMS add up fast.

Error tracking and analytics

Sentry, PostHog, Mixpanel and Amplitude all have free tiers that cover a young product. They stop being free sooner than you expect, because event volume grows faster than users do.

Search

Postgres full-text search is free and good enough for a long time. Algolia, Typesense Cloud and Elastic cost from $0 to several hundred, and more at scale.

Background jobs

Queues and schedulers, whether Inngest, Trigger.dev, SQS or a worker on your own host, cost little until you process a lot of media or run heavy imports.

LLM API calls

If you ship an AI feature, this can become your largest line, and it scales with usage rather than with users. I cover it below.

App store fees and developer accounts

Apple charges $99 a year and Google charges a one-time $25. Both take a cut of in-app purchases, commonly 15 to 30 percent depending on your revenue and program. That cut is not infrastructure, but it belongs in your monthly margin math.

The 1K User Tier: Spend Almost Nothing

At 1,000 monthly active users, my estimate is $0 to $300 a month for a typical app, and many sit near $50. If yours costs more than that with no AI features, something is configured wrong.

A realistic stack looks like this. Hosting on a managed platform at $20 or so. A small Postgres instance at $25. Auth on a free tier. Storage and email a few dollars each. Error tracking and analytics on free plans. The total is under a hundred dollars, and the paid plans are mostly there to remove limits you do not want to hit on a launch day.

What pushes this tier up is narrow. Media-heavy products, such as video or image upload, add storage and delivery costs early. SMS verification adds a few dollars per hundred sign-ins. And an AI feature with chatty users can add $50 to $500 on its own, since model calls cost money from the first request.

The right posture at this tier is to pick boring tools, stay on the cheapest paid plan that removes the limits, and spend your attention on the product. Do not build for scale you do not have. The cost of premature infrastructure is not the invoice, it is the weeks you spent not talking to users.

The 10K User Tier: Real Money, Still Manageable

At 10,000 monthly active users, I would budget $300 to $2,500 a month for a standard app. The wide range is the point. Two apps with the same user count can differ by a factor of five depending on what users do once they are inside.

The database is the first line to move. A shared instance becomes a dedicated one with a read replica, and you are at $100 to $400. Compute grows because you now run more than one instance for safety, call it $100 to $500. Auth may start charging, especially on per-user plans, and can add $0 to $250. Analytics and error tracking move to paid plans at $50 to $300 combined. Email and push sit in the tens to low hundreds.

Analytics dashboard on a laptop screen showing usage and cost charts

This is the tier where logging first becomes a problem. Teams turn on verbose logs during development, never turn them down, and a log vendor starts charging by the gigabyte. I have seen a logging bill match the database bill. Set retention to 7 or 14 days and sample the noisy routes.

This is also where you should start tagging cost by feature. You do not need a finance tool for it. You need to know whether the bill went up because of signups, because of one heavy feature, or because of one bad query. Our post on AI FinOps and cloud cost optimization goes deeper on how to read a bill that way.

The 100K User Tier: Where Choices Compound

At 100,000 monthly active users, my range is $4,000 to $30,000 a month. That is a big spread and I will not pretend otherwise. What decides where you land is mostly three things: how much data each user moves, whether you have an AI feature, and whether you picked per-user pricing for any vendor.

Compute and database together are often $1,500 to $8,000. Content delivery and egress, if you serve images or video, can be $500 to $5,000 or more. Auth on a per-user plan can be $1,000 to $5,000 by itself, which is the number that makes people reconsider vendors. Analytics, error tracking and logging together are commonly $1,000 to $4,000. Search at this scale runs $200 to $2,000. Email and SMS depend on your product, from $200 to several thousand, and SMS is the one to watch.

Notice what is not on the list: a dedicated platform team. At this size you can still run on managed services with one or two engineers who care about operations. Revenue per user at 100K MAU usually dwarfs this bill for a paid product. For an ad-supported or free product, the margin is thinner and every line deserves scrutiny.

The question to ask at this tier is cost per active user. If you pay $0.05 to $0.30 per monthly active user all in, most businesses are comfortable. If you are above that and your revenue per user is low, you have a pricing or architecture problem to fix before you grow further.

Where the Surprises Come From

Almost every bill shock I have seen traces back to one of four things. None of them are exotic, and all of them are avoidable if you know to look.

  • Egress. Moving data out of a cloud costs money, often around $0.05 to $0.09 per gigabyte on the big providers. A video feature or a mobile app downloading large images can turn that into thousands a month. Cloudflare R2 and a CDN in front of storage are the usual fixes.
  • Auth per-MAU pricing. A plan that is free to 10,000 users and then charges per monthly active user looks harmless at launch. A bot wave or a successful campaign can multiply your active count in a week. Read the pricing page and ask what happens to the bill if you grow 10 times.
  • LLM tokens. Cost scales with how much text goes in and out, and how often. Long conversation histories, retries, and a heavy model used for a simple task are the usual causes. Cache what you can, route easy requests to a small model, and set a hard monthly cap at the provider.
  • Logging. Debug-level logs in production, with long retention, billed by volume. This is the dullest surprise and the most common.

There is a fifth I will add because it is cheap to fix: forgotten resources. Staging databases, old preview deployments and unused load balancers sit on your invoice for months. Put a calendar reminder on the first of each month and read the invoice line by line for fifteen minutes.

If you run an AI feature, the same advice applies with more urgency. Pick the cheapest model that passes your quality bar, measure tokens per request, and alert when daily spend crosses a threshold. A runaway loop can burn a week's budget overnight.

What to Do Early and What to Never Do

Early advice is simple. Do the cheap things now so you are not forced into expensive things later.

  1. Pick one managed host and one managed Postgres and stay there.
  2. Put a CDN in front of anything users download.
  3. Set spending alerts at every vendor that offers them, at 50, 80 and 100 percent of your budget.
  4. Set log retention to 14 days or less.
  5. Read the auth pricing page twice, and write down what the bill would be at 10 times your users.
  6. Keep your data exportable. Standard Postgres, standard object storage, no proprietary query language you cannot leave.

Now the never list. Do not add Kubernetes. I will say it plainly: at 1K, 10K or even 100K users, a managed platform with a couple of services is cheaper, faster to operate and easier to hire for. Kubernetes costs you an engineer's time every week, plus a cluster that bills while idle. Teams that adopt it early usually do so because it feels like what serious companies do. Serious companies adopt it when they have a platform team and a reason.

Also skip multi-region, skip a microservice split, skip a self-hosted message broker and skip building your own auth. Each of these has a legitimate moment. That moment is later than you think and comes with a name, a number and a bottleneck you can point at.

If your app is changing quickly, the cheaper habit is to ship on boring parts and revisit. Our write-up on Vercel, Netlify and Cloudflare Pages covers the hosting decision in more detail.

A Budgeting Rule and When to Leave Managed Services

Here is the rule I give founders. Budget infrastructure at 5 to 10 percent of monthly revenue once you have revenue, and at a flat cap of $200 to $500 a month before that. If you are above 10 percent with no AI feature, you have a design problem. If you are above 10 percent with one, you have a pricing problem, because your plan likely charges less than the model calls cost.

For pre-revenue apps, pick a ceiling you can live with for twelve months, divide by twelve, and set alerts at that number. Then add a buffer of about 30 percent, because the first surprise arrives early.

Infrastructure is also only part of what an app costs to keep alive. Developers, fixes, store updates and dependency upgrades usually cost more than servers do, and we cover that in our guide to app maintenance costs.

Globe of connected network lines representing global cloud infrastructure

When to move off managed services

Leave a managed service when a specific line item is large, stable and predictable, and when you have someone who can run the replacement. Three signals matter.

First, one vendor is more than 20 percent of your total bill and its usage is steady. Second, you are paying a per-user or per-event premium for something you could run for a flat cost, such as auth, search or analytics. Third, you have hit a technical limit the vendor cannot fix.

When that happens, move one piece at a time. Self-hosting analytics or moving object storage to a cheaper provider is a weekend project. Moving your database is a quarter-long project with a rollback plan. Do the small ones first, measure the savings and only then consider the big one. Teams that migrate everything at once usually spend more on the migration than they ever save.

If you want a second opinion on your stack or a cost estimate before you build, we are happy to look at it with you. Book a free strategy call

app infrastructure cost per monthcloud hosting costsmanaged Postgres pricingapp running costsstartup infrastructure budget

Software people love.

Thirty minutes. You leave with a plan and a number.

Book a call