Comparison

Appwrite vs Pithy

This is the closest comparison on the site in spirit, because both start from the same objection: your customers' data should not live in somebody else's platform. Appwrite answers it by giving you the platform to run. Pithy answers it by not having one.

Choose Appwrite

When you want a backend product, and you want to hold the keys.

Auth, databases, storage, functions, messaging, realtime and site hosting in one open-source stack you can run on your own hardware — air-gapped if you need to — or buy managed with the same product surface either way. If regulation decides where your servers sit, that is a very short conversation.

Choose Pithy

When you would rather have no servers at all.

There is nothing of ours to host, because there is nothing of ours in the request path. Pithy provisions D1, R2, Vectorize and Workers into your Cloudflare account and gets out of the way — so ownership costs you no operational surface, and what you own is Cloudflare's primitives rather than our stack.

Where they overlap

The table stakes.

If a feature is standard for a modern backend, assume both have it. We are not going to dress one up as a differentiator.

Both are, and both mean it. Neither should claim it against the other.

Sessions, OAuth providers, tokens. Table stakes.

Upload, serve, authorize. Both have it.

Your code on demand. Both have it.

Appwrite has event subscriptions; the kit has Durable Objects. Different shapes, same table stake.

Both run the whole thing on your machine before anything is deployed.

The difference underneath

Own the stack, or own nothing at all.

Appwrite is a server. Self-hosting it means containers, upgrades, backups and a migration path between releases that is your responsibility — which is exactly the trade you accept in return for the data never leaving your control. Their managed cloud removes that work and re-introduces a vendor, which is a reasonable thing to want.

Pithy has no server of its own to run, or to host for you. It is a set of packages that assemble a Cloudflare Worker, and every resource it creates is provisioned into an account you already have. There is no upgrade window, because there is no instance.

Both routes end with you owning your data. The difference is what ownership costs: Appwrite's costs operations, and Pithy's costs you being on Cloudflare and willing to write SQL.

Feature by feature

What each one actually gives you.

FeatureAppwritePithy

Runtime & data

Managed database included

Appwrite: their own database service

Pithy: D1, which is SQLite, in your Cloudflare account

Yes Yes
Relational SQL you write yourself

Appwrite: a document-style API over collections

Pithy: SQL, because D1 is SQLite

Partial Yes
Realtime subscriptions

Appwrite: event subscriptions across the platform

Pithy: Durable Objects for authoritative state; no declarative table subscription

YesPartial
Durable multi-step workflows

Appwrite: functions, orchestrated by you

Pithy: Cloudflare Workflows, already used by the capabilities that need them

Partial Yes
Runs at the edge

Appwrite: wherever you run the containers

Pithy: Workers, in Cloudflare's network by construction

No Yes

Operations

No servers to run

Appwrite: containers you host, upgrade and back up, unless you buy their cloud

Pithy: there is no Pithy instance to operate

No Yes
No upgrades to run yourself

Appwrite: version upgrades and data migrations between releases

Pithy: packages move with `pithy upgrade`; the primitives are Cloudflare's problem

No Yes
Air-gapped deployment

Appwrite: a genuine strength the kit cannot match

Pithy: requires Cloudflare, which requires the internet

Yes No
A polished platform console

Appwrite: one console over auth, databases, storage, functions and messaging

Pithy: Cloudflare's own, and it is very good — the console the account already uses for Workers, D1, R2 and the logs

Yes Yes
Panes for users, money and the trail

Appwrite: Auth users and collections; entitlements, purchases and a trail are yours to model

Pithy: users, entitlements, purchases, subscriptions, support and the trail — and a user can be comped, revoked or signed out everywhere

Partial Yes
A preview environment per branch

Appwrite: another instance you stand up

Pithy: a worktree, ports and ephemeral resources, torn down afterwards

Partial Yes

What the kit adds

Payments on five rails, one entitlement

Appwrite: not offered

Pithy: Apple, Google, Stripe, Paddle and Lemon Squeezy

No Yes
Per-user balance ledger

Pithy: atomic, idempotent, overdraft-safe by CHECK constraint

No Yes
Games: sessions, matchmaking, rating, boards

Pithy: multiplayer, matchmaking, rating, leaderboard and ledger, composing in one Worker

No Yes
Audit trail attributed to an actor

Appwrite: platform logs

Pithy: a queryable trail, including when a dashboard is the actor

Partial Yes
Encrypted secrets with rotation

Appwrite: environment variables

Pithy: a registry, per environment, with at-rest rotation

Partial Yes
Support inbox in your own database

Pithy: inbound mail, classified on your own AI binding

No Yes

Ownership

Your data stays in your control

Appwrite: on servers you run

Pithy: in a Cloudflare account you own

Yes Yes
Self-hostable

Appwrite: the whole stack

Pithy: nothing of ours to host; the code is MIT

Yes Yes
No vendor in the request path

Appwrite: not when self-hosted

Pithy: never

Yes Yes
No charges for egress

Appwrite: whatever your host charges

Pithy: R2 does not

Partial Yes

The saffron tick marks where Pithy leads — not that the other column is absent. Every claim about Appwrite was checked against their own documentation on 2026-08-25; both products change, and this page is a snapshot rather than a maintained contract.

Where Pithy pulls ahead

The parts Appwrite does not have.

01

Ownership without operations.

Appwrite's answer to where your data lives is a server you maintain. Pithy's is an account you already have. Both are honest; only one stops paging you when a container needs upgrading.

02

Money is in the kit, on five rails.

Apple, Google, Stripe, Paddle and Lemon Squeezy resolving to one cross-rail entitlement, with the purchase rows in your own database. Appwrite has no payments story; you would build all of it.

03

A game backend, not a database.

Authoritative sessions, matchmaking, skill rating, leaderboards and a correct ledger. Appwrite can hold a game's data; none of the game's infrastructure is written for you.

04

SQL rather than a collections API.

D1 is SQLite and you query it with SQL — a skill you have, can hire for, and which outlives any vendor's API shape.

05

The edge is not a deployment choice.

A Worker runs in Cloudflare's network because that is what a Worker is. Getting an Appwrite instance near your users means running more instances.

06

Secrets, audit and a humanity check are capabilities.

Per-environment encrypted secrets with rotation, an audit trail attributed to the actor, and Turnstile as stackable middleware — written and composable rather than assembled.

Where Appwrite wins

Sometimes it is the better pick.

Air-gapped is possible.

If your deployment cannot touch the public internet, Appwrite can run there and Pithy simply cannot. That is not a gap to close; it is a different product.

You choose the hardware.

Your own datacenter, your own region, your own compliance boundary. Cloudflare decides a great deal about where a Worker runs.

One product, one mental model.

A single stack with a console covering all of it, against a kit composing onto five Cloudflare primitives. Theirs is less to hold in your head.

Messaging is built in.

Email, SMS and push in the platform. The kit has durable email and nothing for SMS or push.

Site hosting included.

Appwrite hosts your front end too. Pithy scaffolds one into the Worker, which is a different answer and not always the one you want.

A managed cloud with the same surface.

Start managed and move to self-hosted later. That path exists, and it is theirs.

What it takes to move.

The shapes are close enough that this is mostly mechanical. Collections become tables, and if your data was relational underneath a document API — which it usually is — the schema falls out easily. Permissions move from Appwrite's rules into route-level authorization in your Worker.

What you cannot avoid is the runtime: Appwrite functions become Hono routes, and anything leaning on their realtime event stream needs rethinking against Durable Objects.

The operational half moves in your favor, and it is worth counting: no containers, no upgrade windows, no backups you own.

The honest version.

If you must run the thing yourself — regulation, an air gap, a hardware requirement — choose Appwrite and the rest of this page does not apply to you. If ownership was the goal and operations were only the price you assumed you had to pay, then a kit that provisions into an account you already have gets you the same property without the servers, and brings payments, games and an audit trail Appwrite would leave you to build.

Get started All comparisons