Products · In production

Five things we built that are running right now.

We used to write case studies about the work. Now the work keeps turning into products.
Each of these started as a real problem, a client's or our own, and became something that runs. That is the same path a product sprint with us takes.

01 — GenUI CMS
The method, productized

GenUI CMS

A CMS that builds pages out of the modules your team already has. You describe the page in plain words; it picks from those modules and fills only the fields each one declares.

The GenUI CMS editor with a page assembled from three of the project's modules, the request that produced it, and the same page published on a phone
The problem

Generate content at volume and the design system erodes. Every new page drifts a little further from the last, until someone rebuilds everything by hand.

Why this is new

A model can now read a module's schema and its rules, written in plain language, and write content that fits them: the right fields, within their limits, in the project's tone. Three years ago, turning a brief into a page took a person at every step.

Why it matters here

The rules live in the module, not in a prompt. A field the module doesn't declare can't be filled, an image can't break the size the module asks for, and every save is a new revision. A person reviews the page and publishes it.

Same principle as /how-we-work · modules built once in the repo · a person publishes

02 — Ricevo
A photographed taxi receipt becoming a categorized, policy-checked expense line in Ricevo
The method turned inward

Ricevo

Travel and expense management. It replaced our Expensify license and now runs in its place.

The problem

Expense tools charge per seat, every month, for a workflow that is mostly reading receipts and applying policy. The awkward receipts end up with a person anyway.

Why this is new

A general model reads any receipt layout, so nobody trains a pipeline per vendor. What's left is a small app, and a small team builds that for less than one year's renewal. If you pay per seat for something like it, that is a four-week project.

03 — Minuta
Minuta's library on a Mac, open on the notes and summary of a client kickoff, and the same note on an iPhone
The method turned inward

Minuta

Notes for Mac and iPhone. It notices when a call starts and offers to record, then writes the transcript and the summary on the device.

The problem

Every meeting note-taker is a bot you invite into the call. Gemini won't join Teams, Zoom won't join Meet, and asking a client to admit TLDR to their own meeting looks amateurish. Whichever one you pick, the record of every conversation you have ends up with that vendor.

Why this is new

Transcription and summarization run on Apple silicon, on the machine itself, and keep working offline. Nothing joins the call and nothing leaves your devices. Recording follows the same ISO 27001 authorization protocol as the rest of our work.

04 — skip·next
The skip·next review console: the library on the left, an episode in the player with the Skip intro button, and the intro and credits detections with their confidence on the right
Capability at scale

skip·next

Finds where a film or episode actually starts and ends, so a player can offer skip-intro and next-episode.

The problem

Audio fingerprinting only handles the repeatable cases. Everything else went to a person watching, title by title: cold opens, one-off specials, credits rolling over the action.

Why this is new

A model looks at the frames and decides whether it's a title sequence. That covers the uncertain cases, and the uncertain cases were the reason nobody could automate a whole library before. If you run one, this is what a sprint is for.

05 — Actor-DB
Actor-DB answering a plain-language question about who appears with an actor, with face detections on a frame and a graph of identities
Capability at scale

Actor-DB

Finds every face in a video library, timestamps it to the split second, and lets you ask the library who is on screen when and where.

The problem

Metadata like this used to be slow and expensive: hundreds of hours of people matching faces to names, with plenty of errors along the way.

Why this is new

Running inference on every frame is now cheap enough to do across an entire library. The identities it finds form a graph, so the archive can answer questions in plain language: who appears with whom, where, and when.

06 — The through-line
07 — Start