<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:base="https://pithy.sh" xmlns:atom="http://www.w3.org/2005/Atom"><channel><atom:link href="https://pithy.sh/rss.xml" rel="self" type="application/rss+xml"/><title>Pithy</title><link>https://pithy.sh</link><description>A backend kit. For Cloudflare. That&#x27;s it.</description><language></language><image>https://pithy.sh/static/images/logo-2026-09-18T21-31-35-487Z.png</image><item><title>A seam, never a sibling</title><link>https://pithy.sh/blog/a-seam-never-a-sibling/</link><description>One rule about what a capability may import, and what it buys — including why a management client gets its own request variable rather than borrowing the user&#x27;s.</description><pubDate>Tue, 09 Jun 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/blog/a-seam-never-a-sibling/</guid><author>jim@pithy.sh (Jim Scott)</author></item><item><title>Four things you never have to solve on D1</title><link>https://pithy.sh/blog/four-things-you-never-have-to-solve-on-d1/</link><description>Parameter budgets, transient faults, SQLite&#x27;s missing types and pagination that holds still under writes. Solved once in core, so every capability inherits them.</description><pubDate>Tue, 09 Jun 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/blog/four-things-you-never-have-to-solve-on-d1/</guid><author>jim@pithy.sh (Jim Scott)</author></item><item><title>The toolchain, and customized lint rules</title><link>https://pithy.sh/blog/toolchain-and-customized-lint-rules/</link><description>TypeScript 7, Bun, Turborepo, tsdown, Vitest and Biome — including what the losing options still do better. Then the part that surprised us: GritQL plugins enforcing rules a type system cannot.</description><pubDate>Tue, 09 Jun 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/blog/toolchain-and-customized-lint-rules/</guid><author>jim@pithy.sh (Jim Scott)</author></item><item><title>Fifty-seven round trips, or one</title><link>https://pithy.sh/blog/fifty-seven-round-trips-or-one/</link><description>Migrations composed per capability and ordered once — and a driver change that took 78% of a test suite&#x27;s wall time back.</description><pubDate>Wed, 10 Jun 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/blog/fifty-seven-round-trips-or-one/</guid><author>jim@pithy.sh (Jim Scott)</author></item><item><title>Typed KV, and metadata that repairs itself</title><link>https://pithy.sh/blog/typed-kv-and-metadata-that-repairs-itself/</link><description>Keys built from a schema, values validated both ways, and a list that quietly repairs the metadata the Cloudflare dashboard throws away.</description><pubDate>Wed, 10 Jun 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/blog/typed-kv-and-metadata-that-repairs-itself/</guid><author>jim@pithy.sh (Jim Scott)</author></item><item><title>The error that knows who is reading it</title><link>https://pithy.sh/blog/an-error-that-knows-who-is-reading-it/</link><description>One error type, one schema, and a wire shape with nowhere to put the things a caller must never see.</description><pubDate>Thu, 11 Jun 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/blog/an-error-that-knows-who-is-reading-it/</guid><author>jim@pithy.sh (Jim Scott)</author></item><item><title>The CLI is a product surface</title><link>https://pithy.sh/blog/cli-is-a-product-surface/</link><description>Citty, picocolors and clack — chosen for cold start, size and how they fail — plus why every command owes &#x60;--json&#x60; to an agent driving it.</description><pubDate>Fri, 12 Jun 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/blog/cli-is-a-product-surface/</guid><author>jim@pithy.sh (Jim Scott)</author></item><item><title>What one command writes, and what it refuses to guess</title><link>https://pithy.sh/blog/what-one-command-writes-and-what-it-refuses-to-guess/</link><description>&#x60;pithy add&#x60; installs a package, writes bindings across every environment, runs migrations — and refuses, loudly, in the two places where guessing would be worse than stopping.</description><pubDate>Fri, 12 Jun 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/blog/what-one-command-writes-and-what-it-refuses-to-guess/</guid><author>jim@pithy.sh (Jim Scott)</author></item><item><title>Creating it once is the easy half</title><link>https://pithy.sh/blog/creating-it-once-is-the-easy-half/</link><description>Fifteen Cloudflare resource kinds, provisioned per environment — and the reaper, because eight orphaned secrets sat on a real account with nothing able to reclaim them.</description><pubDate>Sun, 14 Jun 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/blog/creating-it-once-is-the-easy-half/</guid><author>jim@pithy.sh (Jim Scott)</author></item><item><title>Rolling a secret, and the failure you cannot undo</title><link>https://pithy.sh/blog/rolling-a-secret-and-the-failure-you-cannot-undo/</link><description>Encrypted secrets with a master key that never leaves your Worker — and a rotation ordered around the one outcome no retry can repair.</description><pubDate>Tue, 16 Jun 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/blog/rolling-a-secret-and-the-failure-you-cannot-undo/</guid><author>jim@pithy.sh (Jim Scott)</author></item><item><title>A capability with no tables, no routes, no bindings</title><link>https://pithy.sh/blog/a-capability-with-no-tables-no-routes-no-bindings/</link><description>Turnstile is the smallest thing in the kit: no state, no migrations, no middleware you did not ask for. What it demonstrates is how capabilities cooperate without importing each other.</description><pubDate>Fri, 19 Jun 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/blog/a-capability-with-no-tables-no-routes-no-bindings/</guid><author>jim@pithy.sh (Jim Scott)</author></item><item><title>Mail that survives a Worker restart</title><link>https://pithy.sh/blog/mail-that-survives-a-worker-restart/</link><description>Transactional and lifecycle email as durable, tracked jobs — with a suppression list you never wire up and can still read like any other table.</description><pubDate>Fri, 19 Jun 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/blog/mail-that-survives-a-worker-restart/</guid><author>jim@pithy.sh (Jim Scott)</author></item><item><title>Who did that, and did it work</title><link>https://pithy.sh/blog/who-did-that-and-did-it-work/</link><description>A queryable audit trail in your own D1, written by capabilities that never import it — and by the CLI, attributed to the actual person holding the token.</description><pubDate>Fri, 19 Jun 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/blog/who-did-that-and-did-it-work/</guid><author>jim@pithy.sh (Jim Scott)</author></item><item><title>Token-first auth, and what happens when one is stolen</title><link>https://pithy.sh/blog/token-first-auth-and-what-happens-when-one-is-stolen/</link><description>Sign-in that treats a phone and a browser as the same problem, refresh rotation that survives a race, and a replayed token that takes its whole family down with it.</description><pubDate>Sat, 20 Jun 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/blog/token-first-auth-and-what-happens-when-one-is-stolen/</guid><author>jim@pithy.sh (Jim Scott)</author></item><item><title>Logs you can query, not lines you can read</title><link>https://pithy.sh/blog/logs-you-can-query-not-lines-you-can-read/</link><description>One logger seam, two adapters, and every record carrying the build that produced it — so the first question you ask at 2am has an answer in the dashboard.</description><pubDate>Wed, 15 Jul 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/blog/logs-you-can-query-not-lines-you-can-read/</guid><author>jim@pithy.sh (Jim Scott)</author></item><item><title>Uploads that never touch your Worker</title><link>https://pithy.sh/blog/uploads-that-never-touch-your-worker/</link><description>Direct-upload URLs, one media record whatever the backend, and AI enrichment that runs as a Workflow because captioning is slow and fails.</description><pubDate>Thu, 16 Jul 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/blog/uploads-that-never-touch-your-worker/</guid><author>jim@pithy.sh (Jim Scott)</author></item><item><title>Your leaderboard history is yours to keep</title><link>https://pithy.sh/blog/your-leaderboard-history-is-yours-to-keep/</link><description>Boards whose window is a CRON expression, closed windows that stay in your own D1 in plain SQL, and routes that deny by default when auth is absent.</description><pubDate>Fri, 17 Jul 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/blog/your-leaderboard-history-is-yours-to-keep/</guid><author>jim@pithy.sh (Jim Scott)</author></item><item><title>The server holds what no client can be trusted with</title><link>https://pithy.sh/blog/server-holds-what-no-client-can-be-trusted-with/</link><description>Authoritative turn-based sessions on a Durable Object, three example games on a reusable pattern, and a wagering stack with provably-fair dice.</description><pubDate>Thu, 23 Jul 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/blog/server-holds-what-no-client-can-be-trusted-with/</guid><author>jim@pithy.sh (Jim Scott)</author></item><item><title>A connected cast, not scattered rows</title><link>https://pithy.sh/blog/a-connected-cast-not-scattered-rows/</link><description>Seed data where the same three people own connected records in every table — and three independent layers standing between a fixture and your production database.</description><pubDate>Fri, 24 Jul 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/blog/a-connected-cast-not-scattered-rows/</guid><author>jim@pithy.sh (Jim Scott)</author></item><item><title>Four ways to find an opponent</title><link>https://pithy.sh/blog/four-ways-to-find-an-opponent/</link><description>Room codes, invites, a friend graph and a skill-bucketed queue — all ending at one session id, on two Durable Objects the CLI wires for you.</description><pubDate>Mon, 27 Jul 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/blog/four-ways-to-find-an-opponent/</guid><author>jim@pithy.sh (Jim Scott)</author></item><item><title>Two numbers, because one cannot do both jobs</title><link>https://pithy.sh/blog/two-numbers-because-one-cannot-do-both-jobs/</link><description>A skill rating that moves both ways and an experience total that only rises — plus three algorithms, and a deploy that fails if you wire a 1v1 rating to a four-player game.</description><pubDate>Mon, 27 Jul 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/blog/two-numbers-because-one-cannot-do-both-jobs/</guid><author>jim@pithy.sh (Jim Scott)</author></item><item><title>A balance that cannot go negative</title><link>https://pithy.sh/blog/a-balance-that-cannot-go-negative/</link><description>Atomic, idempotent movements with overdraft prevented by a database constraint — and holds, which are what make wagering safe.</description><pubDate>Wed, 29 Jul 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/blog/a-balance-that-cannot-go-negative/</guid><author>jim@pithy.sh (Jim Scott)</author></item><item><title>A user&#x27;s file cannot execute on your origin</title><link>https://pithy.sh/blog/a-users-file-cannot-execute-on-your-origin/</link><description>Files in your own R2 behind one seam — with server-derived keys, uploaded bytes treated as hostile on the way out, and a daily Workflow that reconciles both directions of orphan.</description><pubDate>Wed, 29 Jul 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/blog/a-users-file-cannot-execute-on-your-origin/</guid><author>jim@pithy.sh (Jim Scott)</author></item><item><title>The filter that silently returns less</title><link>https://pithy.sh/blog/filters-that-silently-return-less/</link><description>Vectorize returns partial results without telling you when a metadata index came after the vectors. Making filterable fields a schema decision is how you stop finding that out in production.</description><pubDate>Wed, 29 Jul 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/blog/filters-that-silently-return-less/</guid><author>jim@pithy.sh (Jim Scott)</author></item><item><title>The front end knows what the backend composed</title><link>https://pithy.sh/blog/front-end-knows-what-the-backend-composed/</link><description>One virtual module per capability, projected from the Worker&#x27;s own config at build time — and a capability you did not compose resolving to &#x60;{ enabled: false }&#x60; instead of failing the import.</description><pubDate>Wed, 29 Jul 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/blog/front-end-knows-what-the-backend-composed/</guid><author>jim@pithy.sh (Jim Scott)</author></item><item><title>Nothing reads unvalidated input</title><link>https://pithy.sh/blog/nothing-reads-unvalidated-input/</link><description>Every route declares what it accepts and who may call it, on the route line. Two gates make that structural rather than a habit — and the second one had to resort to a probe.</description><pubDate>Wed, 29 Jul 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/blog/nothing-reads-unvalidated-input/</guid><author>jim@pithy.sh (Jim Scott)</author></item><item><title>Screens that arrive already wired</title><link>https://pithy.sh/blog/screens-that-arrive-already-wired/</link><description>Sign-in, OTP, paywall, pricing, subscription — scaffolded into your repo as source you own, and only the ones your Worker actually composes.</description><pubDate>Wed, 29 Jul 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/blog/screens-that-arrive-already-wired/</guid><author>jim@pithy.sh (Jim Scott)</author></item><item><title>Six copies of a one-liner, and the field none of them could see</title><link>https://pithy.sh/blog/six-copies-of-a-one-liner/</link><description>Durable jobs on Cloudflare Workflows, and a duplicated line that reported adding five bindings it had silently declined to write.</description><pubDate>Wed, 29 Jul 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/blog/six-copies-of-a-one-liner/</guid><author>jim@pithy.sh (Jim Scott)</author></item><item><title>Buy on iOS, be entitled on the web</title><link>https://pithy.sh/blog/buy-on-ios-be-entitled-on-the-web/</link><description>Four payment rails converging on one entitlement in your own D1 — through an idempotent projection that makes a dropped call free and a replayed webhook harmless.</description><pubDate>Thu, 30 Jul 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/blog/buy-on-ios-be-entitled-on-the-web/</guid><author>jim@pithy.sh (Jim Scott)</author></item><item><title>Present and denying by default</title><link>https://pithy.sh/blog/present-and-denying-by-default/</link><description>A management client reaching into your Worker with no data plane between — asymmetric keys you can revoke, 60-second scoped tokens bound to their own body, and rotation that cannot lock you out.</description><pubDate>Thu, 30 Jul 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/blog/present-and-denying-by-default/</guid><author>jim@pithy.sh (Jim Scott)</author></item><item><title>When a missing provider must deny</title><link>https://pithy.sh/blog/when-a-missing-provider-must-deny/</link><description>Two seams in core, built the same way and defaulting opposite ways — because one of them is a gate and the other is a record.</description><pubDate>Thu, 30 Jul 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/blog/when-a-missing-provider-must-deny/</guid><author>jim@pithy.sh (Jim Scott)</author></item><item><title>Support is the employee you cannot hire</title><link>https://pithy.sh/blog/support-is-the-employee-you-cannot-hire/</link><description>An inbound inbox in your own D1, classified on your own Workers AI binding, with every sender linked to the account and purchases you already know about.</description><pubDate>Fri, 31 Jul 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/blog/support-is-the-employee-you-cannot-hire/</guid><author>jim@pithy.sh (Jim Scott)</author></item><item><title>Twelve testers, fourteen days, and no screen that tells you</title><link>https://pithy.sh/blog/twelve-testers-fourteen-days-and-no-screen-that-tells-you/</link><description>Google Play&#x27;s closed-test requirement, run from your own event log — with every count honestly labeled an estimate, because no API exposes the real one.</description><pubDate>Fri, 31 Jul 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/blog/twelve-testers-fourteen-days-and-no-screen-that-tells-you/</guid><author>jim@pithy.sh (Jim Scott)</author></item><item><title>The worker says: unknown</title><link>https://pithy.sh/blog/worker-says-unknown/</link><description>A string written out in four places, a name truncated against a limit that does not exist, and what both have in common.</description><pubDate>Mon, 03 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/blog/worker-says-unknown/</guid><author>jim@pithy.sh (Jim Scott)</author></item><item><title>Ada@ and ada@ are the same person</title><link>https://pithy.sh/blog/ada-and-ada-are-the-same-person/</link><description>Two primitives that look too small to be worth writing about — and the bugs they cause, which never look like they are about email addresses or version numbers.</description><pubDate>Tue, 11 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/blog/ada-and-ada-are-the-same-person/</guid><author>jim@pithy.sh (Jim Scott)</author></item><item><title>Zero of twenty-five conversations</title><link>https://pithy.sh/blog/zero-of-twenty-five-conversations/</link><description>One schema, two consumers, and why a strict enum is correct for the Worker that wrote it and wrong for the client that reads it.</description><pubDate>Thu, 13 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/blog/zero-of-twenty-five-conversations/</guid><author>jim@pithy.sh (Jim Scott)</author></item><item><title>The schemas are the documentation</title><link>https://pithy.sh/blog/schemas-are-the-documentation/</link><description>One rule about Zod, enforced nineteen times by nineteen copies of the same walk. They drifted, and the worst of them passed by not looking.</description><pubDate>Sat, 15 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/blog/schemas-are-the-documentation/</guid><author>jim@pithy.sh (Jim Scott)</author></item><item><title>Modules</title><link>https://pithy.sh/modules/</link><description>Capabilities that compose into your own Cloudflare Worker. Add the ones you need; nothing you skip costs you anything.</description><pubDate>Tue, 18 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/modules/</guid></item><item><title>Audit</title><link>https://pithy.sh/modules/audit/</link><description>A queryable trail of every security-relevant action, attributed to the right actor.</description><pubDate>Tue, 18 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/modules/audit/</guid><category>Enterprise</category></item><item><title>Auth</title><link>https://pithy.sh/modules/auth/</link><description>Passwordless sessions, mobile and web both first-class. Magic link, email OTP, Google, Apple.</description><pubDate>Tue, 18 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/modules/auth/</guid><category>Games</category><category>Solo Builders</category><category>Mobile apps</category><category>Enterprise</category></item><item><title>Control plane</title><link>https://pithy.sh/modules/controlplane/</link><description>Let a management client reach into your own Worker, with no data plane in between.</description><pubDate>Tue, 18 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/modules/controlplane/</guid><category>Enterprise</category><category>Solo Builders</category></item><item><title>Email</title><link>https://pithy.sh/modules/email/</link><description>Every send is a durable job: scheduled, retried, tracked. No mail ever sent inline.</description><pubDate>Tue, 18 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/modules/email/</guid><category>Solo Builders</category><category>Enterprise</category></item><item><title>Lakehouse</title><link>https://pithy.sh/modules/lakehouse/</link><description>An analytical tier for event and telemetry data — one schema object derives the ingest stream, the table and the query types.</description><pubDate>Tue, 18 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/modules/lakehouse/</guid><category>Enterprise</category></item><item><title>Leaderboard</title><link>https://pithy.sh/modules/leaderboard/</link><description>Rank your players. Submit a score, read the standings — daily through all-time.</description><pubDate>Tue, 18 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/modules/leaderboard/</guid><category>Games</category></item><item><title>Ledger</title><link>https://pithy.sh/modules/ledger/</link><description>A per-user balance for your app&#x27;s economy — chips, gold, gems, credits. Correct by construction.</description><pubDate>Tue, 18 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/modules/ledger/</guid><category>Games</category><category>Mobile apps</category><category>Solo Builders</category></item><item><title>Matchmaking</title><link>https://pithy.sh/modules/matchmaking/</link><description>Room codes, invites, friends and matched queues. Every path lands players in one session.</description><pubDate>Tue, 18 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/modules/matchmaking/</guid><category>Games</category></item><item><title>Media</title><link>https://pithy.sh/modules/media/</link><description>Store, track and enrich images, video, audio and documents. Config picks the backend.</description><pubDate>Tue, 18 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/modules/media/</guid><category>Solo Builders</category><category>Mobile apps</category></item><item><title>Multiplayer</title><link>https://pithy.sh/modules/multiplayer/</link><description>Authoritative sessions on Durable Objects. The server holds what no client can be trusted with.</description><pubDate>Tue, 18 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/modules/multiplayer/</guid><category>Games</category><category>Mobile apps</category></item><item><title>Payments</title><link>https://pithy.sh/modules/payments/</link><description>Five payment rails resolving to one cross-rail entitlement, in your own Worker and your own D1.</description><pubDate>Tue, 18 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/modules/payments/</guid><category>Games</category><category>Solo Builders</category><category>Mobile apps</category></item><item><title>Rating</title><link>https://pithy.sh/modules/rating/</link><description>Skill and experience per player, per pool. Elo, Glicko-2 and TrueSkill ship built in.</description><pubDate>Tue, 18 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/modules/rating/</guid><category>Games</category></item><item><title>Secrets</title><link>https://pithy.sh/modules/secrets/</link><description>One encrypted store per environment, a worker-only master key, and automatic at-rest rotation.</description><pubDate>Tue, 18 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/modules/secrets/</guid><category>Solo Builders</category><category>Enterprise</category></item><item><title>Storage</title><link>https://pithy.sh/modules/storage/</link><description>General file storage in your own R2 bucket, with an owner, a quota, and a link you can take back.</description><pubDate>Tue, 18 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/modules/storage/</guid><category>Solo Builders</category><category>Mobile apps</category><category>Enterprise</category></item><item><title>Support</title><link>https://pithy.sh/modules/support/</link><description>An inbox that lands mail in your own D1, classifies it on your own AI, and knows who sent it.</description><pubDate>Tue, 18 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/modules/support/</guid><category>Solo Builders</category><category>Mobile apps</category><category>Enterprise</category></item><item><title>Testers</title><link>https://pithy.sh/modules/testers/</link><description>The roster, the invitations and the fourteen-day clock Google Play makes you run.</description><pubDate>Tue, 18 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/modules/testers/</guid><category>Games</category><category>Mobile apps</category><category>Solo Builders</category></item><item><title>Turnstile</title><link>https://pithy.sh/modules/turnstile/</link><description>A humanity check that stacks on any route. It answers is this a human, never who is this.</description><pubDate>Tue, 18 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/modules/turnstile/</guid><category>Solo Builders</category><category>Enterprise</category></item><item><title>Vector</title><link>https://pithy.sh/modules/vector/</link><description>Semantic search over your own content. Workers AI embeds, Vectorize indexes, D1 keeps the text.</description><pubDate>Tue, 18 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/modules/vector/</guid><category>Solo Builders</category><category>Enterprise</category></item><item><title>i18n</title><link>https://pithy.sh/modules/i18n/</link><description>Language for your app — negotiated per request, rendered through one seam. No tables, no bindings, no error codes of its own.</description><pubDate>Tue, 25 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/modules/i18n/</guid><category>Games</category><category>Solo Builders</category><category>Mobile apps</category><category>Enterprise</category></item><item><title>Solutions</title><link>https://pithy.sh/for/</link><description>The same kit, recomposed for what you are building.</description><pubDate>Tue, 18 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/for/</guid></item><item><title>Enterprise</title><link>https://pithy.sh/for/enterprise/</link><description>An audit trail, encrypted secrets with automatic rotation, a humanity check, and a management plane that never holds your data.</description><pubDate>Tue, 18 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/for/enterprise/</guid></item><item><title>Games</title><link>https://pithy.sh/for/games/</link><description>Authoritative sessions, matchmaking, skill rating, leaderboards and an economy — on Durable Objects and your own D1.</description><pubDate>Tue, 18 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/for/games/</guid></item><item><title>Mobile apps</title><link>https://pithy.sh/for/mobile/</link><description>Sign in with Apple and Google, StoreKit and Play Billing resolving to the same entitlement as the web, token-first sessions, and the Play closed-test clock nobody warns you about.</description><pubDate>Tue, 18 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/for/mobile/</guid></item><item><title>Solo builders</title><link>https://pithy.sh/for/solo/</link><description>Payments on five rails, a support inbox, transactional mail and a scaffolded front end — the work a single person cannot hire out.</description><pubDate>Tue, 18 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/for/solo/</guid></item><item><title>Alternatives</title><link>https://pithy.sh/compare/</link><description>Already on something else? These pages lay out where Pithy is the better call — and where the tool you already have is the one to keep.</description><pubDate>Tue, 18 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/compare/</guid></item><item><title>Supabase vs Pithy</title><link>https://pithy.sh/compare/supabase/</link><description>Supabase is a managed Postgres platform. Pithy is a composable kit that runs entirely inside your own Cloudflare account. Here is the honest side-by-side.</description><pubDate>Tue, 18 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/compare/supabase/</guid></item><item><title>Algolia vs Pithy</title><link>https://pithy.sh/compare/algolia/</link><description>Algolia is a hosted search product with latency nobody else matches. Pithy has semantic search as one capability. Compared on search alone.</description><pubDate>Tue, 25 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/compare/algolia/</guid></item><item><title>Appwrite vs Pithy</title><link>https://pithy.sh/compare/appwrite/</link><description>Appwrite is an open-source backend you can self-host or buy managed. Pithy is a kit that composes onto Cloudflare&#x27;s primitives inside your own account. Both answer ownership; they answer it differently.</description><pubDate>Tue, 25 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/compare/appwrite/</guid></item><item><title>Auth0 vs Pithy</title><link>https://pithy.sh/compare/auth0/</link><description>Auth0 is the enterprise identity platform. Pithy has auth as one capability among many. Compared on auth alone — and on whether the compliance surface you are buying is one you actually need.</description><pubDate>Tue, 25 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/compare/auth0/</guid></item><item><title>AWS Amplify vs Pithy</title><link>https://pithy.sh/compare/aws-amplify/</link><description>Amplify is a TypeScript-first framework that provisions AWS services for you — Cognito, AppSync, DynamoDB, S3, Lambda. Pithy is a kit that provisions Cloudflare primitives. Same idea, different cloud, different amount of it.</description><pubDate>Tue, 25 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/compare/aws-amplify/</guid></item><item><title>Clerk vs Pithy</title><link>https://pithy.sh/compare/clerk/</link><description>Clerk is a hosted identity product with the best drop-in components in the category. Pithy has auth as one capability among many. Compared on auth alone — and on whether you need a second vendor for it.</description><pubDate>Tue, 25 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/compare/clerk/</guid></item><item><title>Cloudinary vs Pithy</title><link>https://pithy.sh/compare/cloudinary/</link><description>Cloudinary is a media pipeline with transformations nobody else matches. Pithy has media and storage as capabilities. Compared on media alone.</description><pubDate>Tue, 25 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/compare/cloudinary/</guid></item><item><title>Colyseus vs Pithy</title><link>https://pithy.sh/compare/colyseus/</link><description>Colyseus is an open-source Node framework for authoritative game servers, with rooms, state synchronization and matchmaking. Pithy has turn-based sessions as one capability. Compared on multiplayer alone.</description><pubDate>Tue, 25 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/compare/colyseus/</guid></item><item><title>Convex vs Pithy</title><link>https://pithy.sh/compare/convex/</link><description>Convex is a reactive backend where TypeScript functions run against a document store that pushes changes to clients. Pithy is a kit that composes onto Cloudflare&#x27;s own primitives. Here is the honest side-by-side.</description><pubDate>Tue, 25 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/compare/convex/</guid></item><item><title>Firebase vs Pithy</title><link>https://pithy.sh/compare/firebase/</link><description>Firebase is Google&#x27;s managed backend, and the fastest way to ship a mobile app there has ever been. Pithy is a kit that runs inside your own Cloudflare account. Here is the honest side-by-side.</description><pubDate>Tue, 25 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/compare/firebase/</guid></item><item><title>LootLocker vs Pithy</title><link>https://pithy.sh/compare/lootlocker/</link><description>LootLocker is a hosted game backend for leaderboards, progression and player economy. Pithy has those as capabilities in a Worker you own. Compared on the game services alone.</description><pubDate>Tue, 25 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/compare/lootlocker/</guid></item><item><title>Nakama vs Pithy</title><link>https://pithy.sh/compare/nakama/</link><description>Nakama is an open-source game server with accounts, storage, realtime multiplayer, matchmaking, leaderboards, tournaments, parties and chat. Pithy has the asynchronous half in a Worker you own.</description><pubDate>Tue, 25 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/compare/nakama/</guid></item><item><title>Nhost vs Pithy</title><link>https://pithy.sh/compare/nhost/</link><description>Nhost is Postgres and Hasura with auth, storage and functions around them — GraphQL-first and self-hostable. Pithy composes onto Cloudflare&#x27;s primitives with SQL and HTTP. Both are open source.</description><pubDate>Tue, 25 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/compare/nhost/</guid></item><item><title>Photon vs Pithy</title><link>https://pithy.sh/compare/photon/</link><description>Photon is real-time networking for games — Fusion, Quantum and Realtime — priced on concurrent users. Pithy has turn-based multiplayer as one capability. Compared on multiplayer alone.</description><pubDate>Tue, 25 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/compare/photon/</guid></item><item><title>PlayFab vs Pithy</title><link>https://pithy.sh/compare/playfab/</link><description>PlayFab is Microsoft&#x27;s complete backend for live games — identity, economy, matchmaking, dedicated servers, LiveOps and analytics. Pithy has the game capabilities in a Worker you own. Compared honestly.</description><pubDate>Tue, 25 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/compare/playfab/</guid></item><item><title>PocketBase vs Pithy</title><link>https://pithy.sh/compare/pocketbase/</link><description>PocketBase is one Go binary with SQLite, auth, files, realtime and an admin UI. Pithy is a kit that composes onto Cloudflare&#x27;s primitives. Both are SQLite; almost nothing else is the same.</description><pubDate>Tue, 25 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/compare/pocketbase/</guid></item><item><title>RevenueCat vs Pithy</title><link>https://pithy.sh/compare/revenuecat/</link><description>RevenueCat is the best hosted answer to cross-platform purchases. Pithy has payments as one capability. Compared on subscriptions alone — and on where your customers&#x27; purchase history lives.</description><pubDate>Tue, 25 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/compare/revenuecat/</guid></item><item><title>Rolling your own vs Pithy</title><link>https://pithy.sh/compare/rolling-your-own/</link><description>The most common alternative, and sometimes the right one. What you actually take on when you write the backend yourself, and where a kit earns its place.</description><pubDate>Tue, 25 Aug 2026 12:00:00 UTC</pubDate><guid>https://pithy.sh/compare/rolling-your-own/</guid></item></channel></rss><!-- RSS Feed generated by https://leed.ai -->