Usage-shaped bills
Scale path
10 million accounts is a capacity story, not a rewrite. Pay for the two hot processes when they exist.
| Stage | What you run | What you pay |
|---|---|---|
| Pitch | next dev | $0 |
| Private beta | Next + DATABASE_URL (Neon/Supabase) | Database usage + PITR |
| CA launch | Above + Stripe + REDIS_URL + one Fly/Railway realtime | Usage on Redis, Connect fees, one small VM |
| Multi-city | Region env GIGRENTALS_REGION, same image | More DB/Redis, still one monolith |
| 10M accounts | Extract realtime + dispatch worker; Kafka only if the bus is hot | Those two services' compute |
GPS at 3–5s never writes Postgres on the hot path. That is how 100k concurrent drivers stay off the database invoice. Matching is a 2s tick, not a per-ping optimization.