๐๏ธ Architecture Decision Records
Why we made the big calls. One decision per record, kept short.
:::tip What's an ADR? An Architecture Decision Record captures a decision, its context, the alternatives considered, and the consequences. Based on Michael Nygard's format.
Write one when a decision is:
- Non-obvious in retrospect (future-you will ask "why did we do this?")
- Expensive to reverse
- Controversial at the time :::
๐ Record logโ
| # | Title | Status | Date |
|---|---|---|---|
| 0001 | Use RunPod Serverless for GPU processing | โ Accepted | 2025-09-12 |
| 0002 | Chunk videos client-side before upload | Deferred / superseded | 2025-10-03 |
| 0003 | Use Firestore as the job queue | Superseded in part | 2025-10-15 |
| 0004 | Deploy all Cloud Functions to europe-west1 | โ Accepted | 2025-08-20 |
| 0005 | Use PostHog EU for product analytics | โ Accepted | 2026-04-25 |
| 0006 | Allow crawlers on public marketing pages | Accepted; docs exception | 2026-04-26 |
| 0007 | Expose the REST and MCP agent API | โ Accepted | 2026-04-26 |
| 0008 | Hold file size with a two-directional ratchet | โ Accepted | 2026-08-19 |
| 0009 | Put the pose model behind a backend switch (Ultralytics AGPL) | โ Accepted | 2026-08-20 |
โ๏ธ Writing a new ADRโ
- Copy the template into
decisions/NNNN-short-title.md - Number sequentially โ do not reuse a number even if a prior ADR is superseded
- Fill in all sections (Context, Decision, Consequences at minimum)
- Add it to this index table above
- Commit + open a PR
:::info Superseded decisions
Never delete an old ADR. If a later decision replaces it, mark the old one ๐๏ธ Superseded by #NNNN and add a link. History is the whole point.
:::
๐ฏ Next Stepsโ
- ๐ Architecture Overview โ the current state
- ๐ ADR template
Was this page helpful?