Rei started as Omo, a prompting tool with eight input fields. Using it proved that even light structure improves prompts, and showed what I never touched: output format, examples, a reasoning nudge, version history. Its clickable recommendations re-triggered compilation in a loop, and the submit button wasn't needed once the tool knew when you'd stopped typing. What survived was the core idea and the three-panel layout.
Omo, the first version. Most of it was cut.
Planning: Start from the Sibling
Rei reuses the design system of Ordos, a local-first PRD generator I built a few months earlier on the same stack: its visual language, state machine pattern, and local model integration. With the visual side settled, the effort went into what the tool does.
Before any code, I wrote a PRD for Claude Code to build from.
The PRD, written for a developer that takes everything literally.
Building: Three Fields and No Button
Three fields. Task and context, persona, constraints. Anything that doesn't fit one of them probably doesn't belong in the prompt.
Continuous compilation. The compiled prompt updates as you type. A short debounce limits requests, and new input aborts stale ones.
Personas instead of role labels. "Analyst" gives the model little to work with. "Product manager who keeps a list of features they're proud they cut" gives it a voice and implied priorities. There are 33 in a shuffleable pool, or you can write your own. Each had to shift model behavior, read like a person, and fit on one line. Writing them took longer than most of the interface.
Passive recommendations. The engine scores the prompt and lists its weak spots. Nothing is clickable: you read them and edit the prompt yourself, which avoids Omo's recompilation loop.
Local only. Rei runs on Ollama with your own models. No server, no account. I already pay for model subscriptions and didn't want to pay for API calls on top of that for a personal tool.
Eight fields became three.
Refining
This was the hardest part. Claude Code handled architecture and logic reliably, but not pixel-level polish: it couldn't read the designs accurately. Figma didn't help much either. It's fine for sketching a direction, but it feels like a tool from the previous generation once the product is being built in code. I sent CSS snippets with screenshots, and Claude Code ignored about half of them. Most refinement was a loop: inspect the build, describe what was wrong, and watch it fix two things while breaking a third.
Most of the polish happened in the browser inspector.
Where It Is Now
Rei runs locally on Ollama, with whatever models you have. I don't reach for it every day, but it's still installed and still in use. Compared to Omo, it has three fields instead of eight, no submit button, and recommendations you read rather than click.