Product

Stem

A local-first AI agent I own end to end: the users, the bets, the roadmap, and the incident reports. Everything below shipped and runs in my house every day.

Who it is for

Stem exists because the work I most wanted AI help with was the work I least wanted to upload: family documents, day-job material, financial records, half-formed ideas. The user is a person with sensitive work and a used GPU, and the first user was me. The product decision that followed everything else: privacy had to be an architectural property, enforced in code, because a policy I could forget under deadline pressure protects nobody.

The honest user count is small and I like saying it plainly. My wife uses it. A school booster club got its flyers and signup sheets out of it. A pilates studio runs a booking app that started here. The rest is odds and ends for people who ask. Small N, real usage, every feature below earned its place by surviving contact with one of those users or with my own daily work.

The bets

Route by content, fail toward home. A classifier reads every turn: external work can use a frontier model, personal content stays on local models, and anything ambiguous or failing goes local by default. The tradeoff is real and accepted: private turns get a smaller model's answers. The bet is that trust compounds and raw capability can be rented per turn.

Keep a human at every gate that matters. Stem drafts, builds, and reconciles; a person approves anything that ships, spends, or leaves the machine. That gate is also why I can put failure numbers on a public page: nothing escaped past it.

Turn every failure into a permanent test. The harness carries a growing eval suite and a nightly critic that reads the day's transcripts for failure classes. When something breaks, the incident becomes a regression case before the fix ships. The self-test gate stands at 96/96, and the suite only ratchets tighter.

Capability in motion

Real interface, synthetic data. Nothing personal renders in a public capture, which is itself the sovereignty rule doing its job.

The Stem chat interface fanning a question out to three scout agents, whose status badges flip from running to done at staggered times.

Scout fan-out

Three read-only scouts dispatched in one turn, 47 milliseconds apart, with live badges as each reports back. Only findings return to the chat.

The artifact build flow offering four visual style candidates as thumbnails before any code is written.

Style picker

A build request offers whole-style candidates from the design gallery before any code exists. Taste is a decision the user makes once, up front.

The Stem voice interface mid-conversation with a moving level meter and a transcript line appearing.

Voice loop

Speech to speech against a local model, first audio in 115 milliseconds warm, private end to end.

The shipped roadmap

Selected releases, in the order they landed. Each solved a problem a real user hit, and several exist because an incident demanded them.

  • Spring

    Content-class router. Every turn classified external or personal; ambiguity and failure both route local. The privacy boundary moved from a promise into a code path.

  • Spring

    Eval harness and nightly critic. A machine reads the day's transcripts for failure classes and files what recurs. My definition of good, executable.

  • Summer

    Design system and style gallery. 57 style modules and a 103-snippet element kit, so every interface Stem builds starts from a ratified visual system instead of a blank page.

  • Summer

    Voice loop. Speech to speech on local models, 115 milliseconds to first audio when warm. Built for hands-busy capture, used daily.

  • August

    Scout fan-out with live badges. The orchestrator delegates recon to parallel read-only scouts on cheap local models and shows each one's status as it lands.

  • August

    Repetition breaker. After one degeneration loop wrote 181,083 characters into a chat bubble, a detector now cuts any turn at three identical blocks. Calibrated against 30,230 stored turns: three real loops caught, zero healthy turns flagged.

The creator tools

The part I underestimated: once the style system existed, Stem became the studio I reach for first. Mockups, wordmarks, dashboards, one-page apps, newsletter figures, and the illustrated posts in the Playbook all come out of the same artifact pipeline, checked against the same gallery. I stopped explaining the design system to people and started handing them the output. If the design is good, it does not need a narrator.

Open bets

A scout that hits its step limit should return partial findings instead of nothing; that gap caused the best incident report I have and it is still open. Image generation stays behind an explicit per-use opt-in until I trust the provenance story. And the user count should grow the same way it started: one person with a real problem at a time.

The written companion to this page is the AI PM Playbook, four issues of product lessons pulled from this system's logs.