(917) 924-2463

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.

The Duckadrift landing page, with the water scene and the duck, on a desktop screen.

Captured 28 July 2026

See it live

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.

The Duckadrift duck in the water scene. Captured 28 July 2026.

What we decided

4 calls

  1. 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.

  2. 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.

  3. 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.

  4. 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

The Duckadrift landing page, with the water scene and the duck, on a phone.

Captured 28 July 2026

This one was built the same way we would build yours.

Start a demo