Somebody described a backend kit to me as a fighter jet you have to assemble before you can fly it. That is the wrong shape for this one, and the right question is narrower: does your app look like the apps this was built for? Ten minutes deciding that now is cheaper than three weeks discovering it later, so this page tries to talk you out of it as hard as it tries to talk you into it.
What it fits
A mobile app that sells something. This is the shape the kit was designed around. A person buys Pro on iOS through StoreKit, opens your web app on a laptop, and is entitled there — one entitlement key, four rails behind it, and no hosted service holding your purchase history. Apple, Google Play, Stripe and Lemon Squeezy all land on the same row.
A game that is turn-based or asynchronous. Sessions the server resolves, matchmaking that finds people four different ways, a skill rating that feeds the queue, leaderboards with windows, and a balance that cannot go negative. That is five capabilities you compose, rather than five services you operate.
Anything that needs identity without a password. Magic link, email one-time code, Google, or Apple. There is no password database to leak, and there is no password reset flow to build.
An app whose data you would rather not hand to somebody else. Health, finance, education, enterprise pilots — anywhere “where does this live?” is a question you have to answer in writing. It lives in your D1, in your account, in a region Cloudflare picked and you can name.
A solo developer or a small team. The kit’s real claim is not that it is faster than writing auth yourself. It is that it is fewer things to operate than buying auth, payments, storage, mail and search from five vendors with five dashboards, five bills and five outage pages.
What it does not fit
Real-time action games. @pithy-sh/multiplayer is authoritative and turn-based. It holds state a client cannot be trusted with, resolves a turn, and writes a durable result. It is not netcode, it is not tick-rate simulation, and it is not chat. Cloudflare’s own PartyServer is the thing you want for those, and the kit will not pretend otherwise.
Anything that must not run on Cloudflare. Every capability is written against Workers, D1, KV, R2, Vectorize, Workflows and Durable Objects. There is no Postgres adapter, no container mode, and no plan for either. A procurement rule that names a different cloud ends the conversation here, and that is the honest answer rather than a sales one.
Heavy relational or analytical workloads. D1 is SQLite. It is genuinely good, and it has edges: a single statement takes at most 100 bound parameters, and a query that would want a warehouse still wants a warehouse. The kit chunks around the parameter ceiling for you in its own queries — guardBoundParameters is installed on every Kysely instance it builds — but it cannot make SQLite into an OLAP engine.
Password sign-in. There is none, and there never will be. If your requirement says “email and password”, this kit says no rather than “not yet”.
A team that wants somebody to call. There is a GitHub repository, an issue tracker, and a hosted dashboard with a support tier. There is no enterprise support contract with an SLA on the open-source kit. If your risk register needs one, price that in.
What you give up by not buying a platform
Worth stating plainly, because every one of these is real.
| A hosted platform gives you | With Pithy, it is |
|---|---|
| A console for everything | A CLI for everything, and a dashboard for the panes that have been built |
| Somebody else’s on-call rota | Cloudflare’s platform uptime, and your own operational commands |
| A migration tool they wrote | pithy migrate, run by you, per environment |
| One bill with support attached | A Cloudflare bill, and an open-source repository |
| Features arriving without you noticing | Features arriving when you run pithy upgrade |
The trade is ownership for convenience, and it is a real trade rather than a free lunch. Some of it comes back the other way: nothing here can raise its prices on your data, deprecate the API you built against, or get acquired and sunset in eighteen months. Your Worker keeps running because it is yours.
Still not sure?
Do the Quickstart. It needs no Cloudflare account, it takes about five minutes, and it will tell you more about whether the shape fits than another page of prose can.