Our own product
2026
Duckadrift
Our dev tool. Teams write down their architecture decisions; Duckadrift checks the code still agrees with them, and fails the pull request when it doesn't.
Captured 28 July 2026
duckadrift.com
The problem
An architecture decision record is a written rubber duck: you explain the decision to it, and the act of explaining is the point. Then the code drifts away from what was explained, quietly, because the duck can't object. Duckadrift is the duck that talks back.
What we built
A GitHub Action that reads every decision record in a repository and treats each one as a testable claim. Seven deterministic checks fail the pull request when a decision and the code disagree. Five semantic checks are allowed to use AI under one rule: cite the evidence byte-for-byte or the finding is discarded. It never writes a decision record. It only holds you to the ones you wrote. And the landing page is a GPU water scene with a duck you can actually dunk, because the product's whole idea deserved to be something you could touch.
The Duckadrift duck in the water scene. Captured 28 July 2026.
What we decided
4 calls
-
It never writes an ADR, it only enforces the ones you wrote.
The moment the tool authors decisions, it's grading its own work. Deciding stays human; the tool's job is memory with teeth.
-
AI findings must cite evidence byte-for-byte or they're thrown away.
An AI reviewer that can't point to the exact line is generating opinions. Discarding uncited findings is what keeps the tool's word worth something.
-
Disagreement fails the pull request, it doesn't file a report.
A warning nobody reads is documentation. A red build is a decision being enforced.
-
The landing page is the metaphor made playable: a rubber duck in real water.
Every dev tool page looks the same. The duck is the product's own idea, rendered well enough to dunk, and the craft argument makes itself without a single claim.
The stack
Runs as a GitHub Action inside the build systems teams already use.
Measured
- Lighthouse performance, mobile
- 56 as of 28 July 2026
- Largest contentful paint, mobile
- 2.6s as of 28 July 2026
On a phone
Captured 28 July 2026
This one was built the same way we would build yours.
Start a demo