Skip to content

Selected outcomesIndependent product

Shoji

A desktop app where a small team of models plans, builds and checks each change, with each step given the model that suits it.

Visit the websiteSource on GitHub

The shoji wordmark, large, over streaks of red-orange light, with the app's window rising in front of it: a list of threads, a finished change ready to accept, and its diff.
Role
Product, interaction and visual design, and engineering across the app, its agent runtime and its website, built with an AI coding agent
Timeline
Idea to first public release, 2026
Stack
Tauri 2, Rust, React, TypeScript, Bun, Anthropic API, MCP, Vitest

Quick read

  1. Problem

    AI coding tools put one model on every step of a change. The strong ones plan well but cost too much to spend on reading files and checking diffs; the cheap ones are fast but plan poorly.

  2. Role

    I designed and built all of it: the desktop app, the agent runtime that does the work, the design system and the launch website, directing an AI coding agent through the build.

  3. Intervention

    Shoji splits a change into steps and gives each its own model. You see every step and its cost as it runs, nothing is committed until you accept it, and every task leaves a receipt.

  4. Result

    In a test on six real tasks, it cost 55% less per accepted change than running every step on the strongest model, and all six were accepted.

A free, open-source app for macOS, Windows and Linux

Routing each step to its own model cost 55% less per accepted change than one strong model, with every change still accepted.

Cost per accepted change, against Opus alone
55% less
Real tasks accepted, the same as Opus alone
6 of 6
Review verdicts right, planted bugs and clean code
24 of 24

Have a problem worth building around?

Start a conversation
Esc