Architecture Decision Record (ADR) Generator
Draft standardized architectural decision records and technical RFCs in seconds. Includes native Mermaid.js diagram formatting, trade-off tracking, and 1-click Markdown export.
# ADR-0001: Adopt PostgreSQL with Drizzle ORM for Relational Data
## Metadata
* **Status:** Accepted
* **Date:** 2026-09-25
* **Authors:** Engineering Team Lead
## Context & Problem Statement
Our application needs high-throughput transactional consistency, relational querying across projects/tasks, and type-safe schema migrations.
## Decision Outcome
We will use PostgreSQL as the primary relational database and Drizzle ORM as the SQL-first TypeScript query builder.
### Architecture Diagram
```mermaid
graph TD
Client[Web Client] --> API[Fastify API]
API --> Drizzle[Drizzle ORM]
Drizzle --> Postgres[(PostgreSQL DB)]
```
## Consequences & Trade-offs
### Positive Impact
* β
Full end-to-end TypeScript type safety from DB schema to API responses
* β
Zero runtime query generation overhead
### Negative / Trade-offs
* β οΈ Requires team familiarity with SQL-like query syntax
## Alternatives Considered
* β Prisma: Rejected due to memory overhead in containerized environments
Keep ADRs connected to your sprint tasks
Don't let ADRs get buried in GitHub repos or outdated Google Docs. Klority Wiki embeds architecture specs directly into your sprint cards and QA cycles.
Start Free Workspace (Solo Plan) βEmbed your ADRs right inside your sprint board
Stop letting architecture documentation rot. Klority Wiki gives engineering teams a Markdown-native knowledge base linked directly to tasks, test cases, and releases. **100% Free Forever for Solo Users**.
Why Architecture Decision Records Matter
Every software system accumulates invisible technical debt when critical design decisions are made in fleeting Slack messages, private Google Docs, or verbal meetings. Six months later, new engineers or team leads are left wondering: "Why did we choose this database?" or "Why is auth structured this way?"
An Architecture Decision Record (ADR) solves this by capturing:
- The Context: The technical or business constraints at the moment the decision was made.
- The Decision: The chosen design pattern, library, or architectural approach.
- The Trade-offs: The recognized negative consequences and compromises accepted.
The Structure of a Pragmatic ADR
Our generator follows the battle-tested Michael Nygard ADR format, enhanced with native Mermaid diagram syntax for modern visual system modeling. By standardizing your team's decision records, you reduce code review friction and preserve engineering knowledge indefinitely.
Frequently Asked Questions
When should an engineer write an ADR?
Write an ADR for decisions that are hard to reverse or have a cross-cutting impact across multiple services or engineers. Examples include: selecting a new database, adopting a state management library, changing authentication schemes, or restructuring API versioning.
How should ADRs be numbered and tracked?
ADRs are sequentially numbered (e.g., `ADR-0001`, `ADR-0002`) and should be immutable. When an architectural approach changes, do not edit the old ADRβcreate a new ADR with status "Superseded" and link back to the previous decision.
Is my generated document data private?
Yes. 100% of the ADR generation and Markdown rendering occurs inside your local browser sandbox. No architecture details or confidential business logic are sent to external servers.
Free Engineering Tools
Free Solo Developer Workspace
Get full project management boards, hierarchical wiki, QA cycle runner, and billing tracker in one dashboard. **Free forever for single users**.
Start Free (Solo Plan)