Routiq Labs · Field Guide № 003Nine jobs · six change · three don’t

You commented. Here is the swap list.

Need to scale to 10,000 users? Six of nine change.

Nine jobs. The same nine you started with. At 10,000 users six of them change hands and three do not move at all — and the three that stay are the more interesting half of the list.

Part one

The nine at a glance

Same jobs, same order as the reel. The right-hand column is the reason it moved, never the vendor's pitch.

  • 01SupabaseNeonyour databaselimits
  • 02Claudefor codingstays
  • 03VercelCloudflareyour front endbandwidth
  • 04RailwayAWSyour back endthe bill
  • 05Stripeto get paidstays
  • 06ElevenLabsyour voice AIstays
  • 07TwilioTelnyxyour phone linesper minute
  • 08SentryDatadogcatch those bugsvolume
  • 09PostHogAmplitudesession replayvolume

Part two

The six that change

Each one leads with the signal, because the signal is the only part that tells you when. If you cannot point at it yet, you are not there.

01

SupabaseNeon

limits
The signal
When connections, not rows, become the thing you manage. Serverless functions each hold one open, the pooler saturates long before storage does, and every preview environment wants its own copy of the data.
Why this one
Branching is the actual feature — a database branch per pull request, and the idle ones scale to zero instead of quietly billing.
What it costs you
You are walking away from the all-in-one. Auth, storage, realtime and row-level security were bundled; on Neon you wire those yourself.
03

VercelCloudflare

bandwidth
The signal
When egress shows up as a line item you can point at. It arrives with images, video and file-heavy pages — the bill starts tracking your traffic rather than your team.
Why this one
Bandwidth is the thing Cloudflare does not meter the way a platform host does, and at 10,000 users bandwidth is the number that moved.
What it costs you
You give up the Next.js-native ergonomics. Some of it is drop-in and some of it is a weekend you did not plan for — check your rendering model before you commit.
04

RailwayAWS

the bill
The signal
When the convenience premium costs more than the engineer-hours it saves — or when you need something a convenience host structurally cannot give you: a VPC, a compliance boundary, a pinned region.
Why this one
This is the one people put off longest, because it is the only swap on the list that costs you real time rather than a config change.
What it costs you
Render is a lateral move. If you jump to another convenience host you will pay the migration twice and solve none of it. Go once, or stay put.
07

TwilioTelnyx

per minute
The signal
When per-minute and per-message costs stop being rounding errors. This one is pure arithmetic: same job, and at volume the rate difference is the whole argument.
Why this one
Nothing about the integration is exotic. It is the closest thing on this list to a like-for-like swap.
What it costs you
You are trading ecosystem depth and support surface for price. Worth it at volume, rarely worth it before.
08

SentryDatadog

volume
The signal
When you are paying three vendors to answer one question. Errors in one tool, logs in another, traces in a third, and an incident means opening all three.
Why this one
Consolidation, not savings. One dashboard eats logs, traces, metrics and errors, and the time you get back is the actual return.
What it costs you
Be honest about this one — Datadog's bill is famous for getting away from people. Set the ingest controls on day one, not after the first invoice.
09

PostHogAmplitude

volume
The signal
When event volume clears the free tier and the question changes. At 100 users you watch sessions. At 10,000 you cannot, so you need cohorts and retention curves instead.
Why this one
Different tool for a different question. Watching one person use your app and measuring what ten thousand do are not the same job.
What it costs you
You lose the replay you were relying on. Plenty of teams keep both and pay for it deliberately.

Part three

The three that stay

The more interesting half of the list. Two of these get swapped by people optimising the wrong number.

stays

Claude

for coding

Nothing about 10,000 users changes what writes your code. This cost scales with how much you build, not with how many people use it — the two numbers are unrelated, which is why it never appears on a scaling list.

stays

Stripe

to get paid

The one place on the list where a migration has no upside. Rates come down at volume by asking, and the failure mode of moving payments is losing money in a way you cannot undo.

stays

ElevenLabs

your voice AI

Quality is the product here, not a feature of it. Cheaper voice at 10,000 users costs more in churn than the line item ever saves.

Part four

The rule

None of it was wrong at 100 users.

This is the part people get backwards. They read a list like this and conclude they picked wrong on day one — so they start on the 10,000-user stack, pay for infrastructure nobody is using, and spend the first six months managing it instead of finding out whether anyone wants the thing.

You are not picking the stack that survives 10,000 users. You are picking the one that gets you to your first hundred, and every tool in the left column is genuinely better at that job than its replacement.

The swap is not a correction. It is a bill arriving, or a limit you hit. Wait for the signal, then move once.

Six change, three stay, and the reason each one moves is a number you can already see on a bill or a limits page. If you cannot point at the signal yet, you are not there — and that is the good news.

Not covered here

  • Exact prices. They move, and a stale number is worse than none — every trigger above is a state you can observe instead.
  • Auth. It sits underneath most of these and deserves its own guide rather than a line.
  • The database migration itself, which is the one genuinely hard move on the list and is not a paragraph.

The next one

One field guide at a time, when there is something worth sending.

No schedule, no drip. The same rule as the stack: it goes out when there is a reason, not when the calendar says so.