For the next “why did we do it this way?”
Architecture decision records,
starting with a voice note.
The code shows what you built.
Keep the reasoning that led you there.
Can a voice note become an ADR? Yes—as source material. Capture the context and reasoning in Chela, review the note, then write and approve the architecture decision record in your team’s repository or documentation system.
01 / Preserve the reasoning
“We chose polling” is only half the note.
A new teammate opens the order-status page and finds a timer that fetches updates. Their first question is reasonable: why didn’t the team use a persistent connection? The implementation cannot tell them what the product needed at the time, what the team could operate, or which trade-off everyone accepted.
An architecture decision record (ADR) preserves the context, choice and consequences of a significant technical decision. Michael Nygard’s original ADR guidance also includes status, so readers can distinguish a proposal from an accepted decision and see when a later record replaces it.
A voice note is useful just after a design discussion, while the reasoning is fresh. You do not need to narrate every message from the meeting. Explain the problem, the alternatives, the chosen direction and the condition that would make you reconsider.
“We don’t need second-by-second updates in this release” gives a future engineer more to work with than “WebSockets felt unnecessary”.
02 / One decision, in context
An order-status page that doesn’t need a live connection yet.
Imagine a small team building a collection-order page. A customer needs to see “received”, “preparing” and “ready”. The team already has an authenticated endpoint for the current order state. For this fictional release, product has agreed that a short delay is acceptable; there is no chat or continuously moving delivery map.
The team considers periodic HTTP requests, server-sent events and WebSockets. The point of the decision note is to explain why one fits these constraints—not to declare a universal winner.
| Option | How it fits this case | What the team must account for |
|---|---|---|
| Polling | The page requests the latest state periodically, reusing the existing endpoint. | Repeated requests even when nothing changes; updates can remain stale between successful checks. |
| Server-sent events | A server-to-browser stream fits one-way status updates. MDN explains this direction of communication. | Operating the stream, reconnecting and restoring the current state after a gap. |
| WebSockets | Supports sending and receiving messages over a connection, as described in MDN’s WebSocket overview. | Connection lifecycle, reconnect behaviour and application message handling. Bidirectional messaging is not required by this release. |
The team proposes polling every ten seconds while the page is visible and the order is active. That interval is an example design choice, not a guarantee that every update arrives within ten seconds: network failures, slow responses and browser scheduling can delay it. The implementation also needs a last-updated indicator and recovery behaviour.
The trade-off belongs in the record. Polling avoids introducing a streaming path for this release, but creates recurring endpoint traffic. If the product later needs much fresher updates, or measured load exceeds the agreed budget, the decision should be reviewed. Server-sent events remains an option alongside WebSockets.
The reasoning worth keeping
“We’re proposing polling because this release can tolerate delayed status updates and already has a suitable endpoint. We accept the repeated requests. We’ll revisit the choice if the freshness requirement or measured load changes.”
Illustrative rationale, not a performance benchmark03 / Capture the discussion
Say what a future teammate would ask.
After the meeting, record a short personal debrief in Chela. State the project and date, and make the status explicit. If people have not agreed, say “proposed”, even if the discussion sounded positive.
A voice note after the design review“Order-status page, 23 September. We’re proposing ten-second polling while the page is visible and the order is active. Product is okay with a short delay, and we already have the status endpoint. We considered server-sent events and WebSockets. Polling means repeated requests and potentially stale status. We still need a load check and agreement on the freshness target before accepting this. Remind me tomorrow at 11 am to review the load estimate with Priya.”
Review the transcript, especially names, numbers and words that change the meaning: “proposed”, “only while visible”, “not yet accepted”. Put exact identifiers such as an endpoint path or ticket reference into text if speech recognition gets them wrong.
- Context: What does the product need, and what exists already?
- Options: What did you seriously consider?
- Reason: Which constraint favoured this choice?
- Cost: What becomes harder or less efficient?
- Status: Who still needs to review or approve it?
- Next check: What evidence or changed requirement would reopen it?
Chela can help organise saved information and extract actionable tasks. Check the reminder’s wording and time yourself. Recording “Priya should review this” does not mean Priya has been assigned a task in your team’s issue tracker.
04 / Make it reviewable
Write the ADR where the team will maintain it.
Use the reviewed note to draft a record in your normal repository or documentation system. The download below is a plain-text Markdown template provided by this guide; it is not an export feature in Chela. It includes the familiar ADR sections plus prompts for evidence and a review trigger.
# ADR [number]: [one specific decision]
## Status
Proposed / Accepted / Superseded by [record]
Date: [YYYY-MM-DD]
Reviewers: [people responsible for review]
## Context
[Requirement, constraints and current system]
[Separate observed facts from assumptions]
## Options considered
[Option] — [reason to use it; reason not to]
## Decision
[What we propose or have agreed, and why]
## Consequences
[Benefits, costs, limitations and operational work]
## Evidence and open questions
[Relevant tickets, measurements and unresolved checks]
## Revisit when
[A concrete changed requirement or measured condition]
See the order-status example filled in
ADR 007: Poll the order-status endpoint for the first release
- Status
- Proposed. Product and engineering review pending.
- Context
- A read-only status page with an existing endpoint. A short display delay is acceptable in principle; the exact freshness target still needs agreement.
- Decision
- Propose a ten-second polling interval while the page is visible and the order is active. Define handling for failed requests, resume and terminal states during implementation review.
- Consequences
- Reuse the request path. Accept repeated traffic and potentially stale displays. Show when data was last refreshed; prevent overlapping requests and plan retry behaviour.
- Open questions
- Measure or estimate load against the capacity budget. Confirm the freshness target and failure-state UX before acceptance.
- Revisit when
- Product requires faster updates or measured traffic exceeds the agreed budget. Re-evaluate polling, server-sent events and WebSockets against the new context.
This is a draft for the hypothetical team to review, not an approved design or a production implementation.
Check that the draft reflects the discussion rather than filling gaps with plausible reasons. Add the actual evidence and reviewer agreement before changing its status to accepted. Chela does not commit an ADR to GitHub, open a pull request or synchronise it with your repository.
05 / Make the memory useful later
Three months later: “Why didn’t we use push updates?”
If you saved the context, you can ask Chela, “Why did we propose polling for the order-status page?” or “What did we still need to check before accepting that decision?” Search a project folder or ask about an individual note, then review the underlying material.
The distinction to preserve
A proposal in your notes can be older than the accepted decision.
The saved voice note explains the discussion. Your team’s maintained ADR tells you what was approved. Check that record before treating a remembered proposal as current architecture.
If the team later chooses server-sent events, keep the earlier reasoning available and link the replacement record in your documentation. The point is to preserve the history of the choice, including what changed—not to defend a past decision after its constraints have disappeared.
Practical questions
Before you record the next decision
Does Chela automatically generate a standard ADR?
This guide uses Chela to capture and retrieve source notes. It does not promise a dedicated ADR generator or exact template output. Review the note and write the final record in the format your team uses.
Should every technical choice become an ADR?
Use one when the rationale will matter beyond the immediate change: a dependency, a service boundary, a data-storage choice or a significant operational trade-off. A routine rename usually belongs in the change itself. Keep each record focused enough to review.
Can I dictate code, API names and identifiers?
You can speak about them, but inspect the transcript. Add or correct exact paths, names and values in text. This workflow captures reasoning; a transcript is not executable code or proof that an identifier exists.
Can I save proprietary architecture details?
Follow your employer’s rules and read Chela’s privacy policy before saving work material. AI processing uses online services. Leave credentials, customer data and restricted implementation details out of notes unless the workflow is specifically approved for them.
Are voice notes available on the free plan?
Voice notes require a paid plan. Free accounts include manual tasks and manual metric tracking. See current plans and check the app for subscription limits.
Sources and scope
What this guide is based on
Reviewed September 23, 2026 against Chela’s product brief and the primary references below. The team, requirements, polling interval and ADR are hypothetical. They illustrate decision documentation, not a benchmark or a recommendation for every application.
Keep the why behind the code
Save the reasoning
while it’s fresh.
Capture a technical debrief in Chela. Return to the context when the next question comes up.
Voice notes require a paid plan. Manual tasks and metric tracking are free. View plans.