Decision 0007: SQLite over Postgres for v1
Context
v1 targets a few hundred users on a single VPS. Postgres adds an operational dependency — backups, upgrades, connection pooling — that buys nothing at this scale.
Decision
SQLite in WAL mode, single file, backed up with Litestream.
Considerations
Pro: zero-ops, trivially fast at this scale, one-file backups.
Con: a future migration if write concurrency grows. Rejected:
managed Postgres — cost and coupling without present need.
Consequences
- ORM layer kept database-agnostic.
- Migration threshold written down: >50 writes/sec sustained.
— 7 —