2025-09-16
Title
Short, descriptive (e.g., “Use PostgreSQL for persistence”).
Context
The forces, requirements, constraints. Often in tension. Here you can list the tradeoffs (“performance vs maintainability”)
Decision
In active voice, what was decided - “we will…”
Status One of “proposed”, “accepted”, “superseded”, “deprecated”.
Consequences
Positive and negative results of the choice.
(too short!)
Title: Use REST for service communication
Status: Accepted
Context: Need interoperability across services, many clients.
Decision: Use REST over HTTP with JSON.
Consequences:
- ✅ Widely supported
- ✅ Easy client integration
- ❌ More verbose than binary protocols
- ❌ Performance overhead
adr/0001-use-rest.mdOverview:
We are building a mobile app for avalanche risk assessment.
Objectives:
- Enable offline use in backcountry.
- Provide a risk matrix for decision-making.
Functional Requirements:
- User inputs slope angle, shape, traps.
- System fetches avalanche forecast when online.
- Display final risk as Green/Yellow/Red.
| ADRs | PRDs |
|---|---|
| Technical choices | Product goals |
| Small, lightweight files | Larger guiding document |
| Context–Decision–Consequences | Goals–Requirements–Use cases |
| Maintained by dev team | Cross-functional ownership |

Neil Ernst ©️ 2024-5