CrescoDB vs Appwrite
Appwrite and CrescoDB agree on the important thing — you should be able to run your backend yourself. They disagree completely on how much machine that should take. Appwrite is a platform: functions, messaging, hosting, 25+ SDKs. CrescoDB is a toolkit: one process, your database, and code in your repo.
The quick answer
\nSkip to the bottom line — then dig into the workflow below.
\nChoose CrescoDB if you…
\n- \n
- want a backend that fits on a $5 VPS and boots in seconds \n
- want to read the whole thing — one process, your database, plain SQL \n
- want SQL with real joins across SQLite, PostgreSQL or MySQL \n
- want features written into your repo as code you edit, not called through an SDK \n
- want
cresco eject— the whole app in a folder, with no vendor left in it \n
Choose Appwrite if you…
\n- \n
- want one platform for everything: auth, functions, messaging, hosting, storage \n
- need push notifications, SMS and email managed for you \n
- want serverless functions in a dozen languages, deployed for you \n
- want GraphQL alongside REST \n
- want SDKs for 25+ platforms maintained by a real team \n
Side by side
\nAppwrite does more than CrescoDB. That is the point of the comparison, not a footnote to it.
\n| Capability | CrescoDB | Appwrite |
|---|---|---|
| Self-hostable | ✓ | ✓ — this is the shared premise |
| What one install costs you | One Node process + your database | 20+ Docker containers |
| Memory to run it | Comfortable on a 1 GB box | 2 GB minimum, 4 GB recommended |
| Time from nothing to an API | npx crescodb init && cresco dev | Install Docker, compose up, wait, configure |
| Your data on disk | SQLite file, or your own Postgres/MySQL | Its own backing store (Mongo, MariaDB or Postgres) |
| Reading your data without the platform | ✓ it is just SQL | Possible — but it is their schema |
| Backend code you own and edit | ✓ real files in your repo | ✕ you call their SDK |
| REST API | ✓ generated from your schema | ✓ |
| GraphQL | ✕ | ✓ |
| Auth + roles | ✓ per-table RBAC | ✓ plus many OAuth providers |
| Realtime | ✓ (SSE) | ✓ |
| File storage | ✓ | ✓ |
| Serverless functions | ✕ write routes in your app | ✓ many runtimes |
| Messaging (push/SMS/email) | ✕ | ✓ |
| Static site hosting | ✕ | ✓ Appwrite Sites |
| Client SDKs | REST over HTTP from any language | ✓ 25+ official SDKs |
| Licence | MIT (CLI & engine) | ✓ BSD-3-Clause, fully open source |
| Managed cloud | On the roadmap | ✓ Appwrite Cloud |
Getting to a working API
\nSame task both sides: a posts table with auth, running somewhere you control.
\nCrescoDB
\n- \n
npx crescodb init— a project, instantly. \n - Add
Posttoschema.crescoand save. \n cresco create auth— register.js, login.js and middleware, written into your repo. \n cresco dev— REST API, dashboard and API explorer on localhost. \n cresco deploywhen you want it on a server you own. \n
Appwrite
\n- \n
- Install Docker Engine 24+ and Compose v2 on a box with at least 2 GB of RAM. \n
- Run the install command; Compose pulls and starts 20+ containers. \n
- Create the project and an API key in the console. \n
- Define the collection and its attributes in the console UI. \n
- Set permissions, then install one of the SDKs and write against it. \n
The trade, stated plainly
\nAppwrite's architecture is not accidental complexity — it is what a platform of that scope\n costs. Messaging, functions in a dozen runtimes, static hosting and 25+ maintained SDKs genuinely\n need more than one process. If you want those things, the containers are the price and it is a fair\n one.
\nCrescoDB has deliberately not built any of that. The result is a backend you can hold in your\n head: one process, one schema file, your own database, and generated code you can open. When\n something breaks at 2am, the surface area you have to reason about is the difference between the two\n approaches.
\nAsk which failure mode you would rather have: too little platform, or too much of it running on\n a box you are also paying for.
\nThe honest bottom line
\nUse Appwrite if you want one vendor for the whole backend — auth, database, functions, push notifications, file storage and hosting — and you are happy to run Docker to get it. It is mature, properly open source under BSD-3-Clause, backed by a real team, and it does more than we do.
\nUse CrescoDB if what you actually need is a database with a good API in front of it, you want that on a small server, and you want the backend to exist as SQL and code you own rather than as state inside a platform.
\nThe honest gap: Appwrite has a managed cloud today and we do not — ours is on the roadmap. If you want to self-host now and move to managed hosting later without changing tools, Appwrite can do that and CrescoDB cannot yet.
\nTry CrescoDB in 30 seconds
No account, no cloud project. One command.