Keep engineering decisions moving

Assign deciders, set deadlines, and preserve the reasoning behind every accepted or rejected decision.

Example: decision RFC-012 is proposed, goes to review with three named deciders, becomes overdue and Slack nudges the last decider, is accepted and exported to docs/adr, and is flagged for a re-check when the code it governs changes.

Built for the moments a decision usually gets lost

Three things that happen on their own once a decision is in DesignDoc.

RFC-012Adopt Razorpay Subscriptions2 of 3
RFC-011On-demand AI drift summaryOct 14
ADR-003Repo-level standardsOct 16
EXC-004Plaintext secrets on tmpfsNov 1
DEP-002Sunset Auth0 JWT modeNov 30

Review queue

Name deciders, set a deadline, choose the fallback outcome, and nudge reviewers in Slack.

razorpay/client.go- plan := planByCurrency(org.Currency)+ plan := planByCurrency("INR") sub, err := c.createSubscription(…)
Re-checkRFC-012 says billing follows org currency.

Drift detection

Link decisions to code and get a re-check when changes on the default branch challenge what was decided.

Alternatives consideredpass
Owner namedpass
Rollback planhigh
Success metricsmedium
Scope and riskspass
Dependenciespass

AI pre-review

Check alternatives, ownership, rollback, scope, risks, dependencies, and success metrics before humans review.

Ask why, get citations

Ask in plain language and get answers drawn only from accepted and rejected decisions, with a citation for every claim.

How it works

01

Create a decision

Write an RFC, ADR, exception, standard, or deprecation and assign its deciders.

02

Set the review

Choose a deadline and a default accept or reject outcome if no one responds.

03

Keep it current

Link relevant code, then confirm, mark stale, or supersede decisions when that code changes.

Questions teams ask first

We already use Notion. Why add another tool?

Keep drafting wherever you like. Notion does not chase your deciders, enforce a deadline or tell you when the code a decision depends on has changed. DesignDoc is the queue and the record.

Docs always rot. What makes this different?

Nothing makes a document write itself. What we do is notice. Link a decision to code, and when that code changes you get a flag with a summary. You re-confirm it, mark it stale or supersede it.

Is AI review just noise?

It checks seven specific things. Severity is computed from the check result, and the AI never approves anything. It runs before humans so they spend their time on judgement.

Does it live in my repo?

The source of record is DesignDoc, and it works with your repo. Import ADRs from docs/adr, and export accepted decisions back as Markdown through a pull request.

Stop losing the why

Start reviewing engineering decisions with clear ownership, deadlines, and a record that stays connected to the code.

Start free