SYSTEM ONLINE :: PUBLIC BETA
CAPY
DB
POSTGRES, REDUCED TO ITS STRONGEST SHAPE.> One primitive: the database cell. Isolated Postgres, dedicated to your project.
postgres://user:pass@myapp.db.capydb.dev:5432/mainSet up a CapyDB Postgres database for this project. Fetch https://capydb.dev/agents.md and follow the instructions for your environment. You'll need me once: to approve access in a browser tab. Everything else is yours.
Works with Claude Code, Cursor, Copilot & friends. One browser approval from you - account, free month, database, env vars: handled.
0x01 // the primitive
ONE PROJECT. ONE CELL.
A database is a service unit. Ours is the cell - a dedicated Postgres runtime with its own process, storage, credentials, extensions, and CPU/RAM limits. We manage the cell; you use a normal Postgres URL.
ONE PRIMITIVE
THE DATABASE CELL
Every project runs in its own isolated Postgres runtime: dedicated process, storage, credentials, extensions, and CPU/RAM limits. Not a shared server. Online before npm install finishes.
THROW-AWAY
Clone production into a fresh cell for every PR. Drop it when merged. TTL cleans up after you.
POSTGRES://
Standard connection strings. If it speaks Postgres, it works. No SDK, no dialect, no lock-in.
ISOLATION, ENUMERATED
Process, credentials, storage quota, network, CPU, and memory - isolated per cell. Strict TLS, one-command credential rotation. Your data never shares a Postgres process with anyone else's.
AND TIME TRAVEL
Continuous WAL archiving. Restore any second of the last 30 days into a fresh cell - because you WILL drop a table eventually.
0x02 // preview databases
EVERY PR GETS ITS OWN CELL
A preview database is spun up for the branch and deleted with it - running in its own cell, with its own connection string, never touching production.
0x03 // scale-to-zero
SLEEPS IDLE. WAKES ON CONNECT.
An idle cell releases its compute and keeps its storage. Connect, and it's back - typically in under a second. The connection string never changes.
THE PIPELINE
CREATE
capydb createCONNECT
DATABASE_URL=$CONNECTIONSHIP IT
npm run deploy && git push0x04 // regions
CELLS ON NODES. NODES FORM THE GRID.
Pick a region. That's the whole decision. Your cell lands on hardware we own and run there - and every node on the grid runs the same boring stack.
0x05 // what we didn't build
EVERYTHING WE DIDN'T BUILD.
No auth add-on. No storage buckets. No function runtime. No rewritten storage engine underneath. Standard Postgres, run extremely well - that's where every hour of engineering went.
0x06 // what isolated means
ISOLATED. HONESTLY.
Not a shared Postgres server - each project gets its own isolated Postgres runtime: process, credentials, storage quota, network, CPU, memory. One thing is shared on standard plans: storage IO is best-effort.
1. USE THIS
- [OK]You want managed Postgres, not a BaaS.
- [OK]You prefer connection strings over proprietary SDKs.
- [OK]You clone DBs every PR commit.
- [OK]You want your existing tools to work unchanged.
0. ESCAPE IF
- [ERR]You want auth, storage, and functions bundled.
- [ERR]You need a GraphQL/REST auto-API generated.
- [ERR]You enjoy vendor lock-in.
- [ERR]You hate writing SQL.
Pick the right tool. If you want a platform, buy a platform. If you want Postgres at full strength, use us.