Case study / Two-app suite, own
Ideas go in loose. Specs come out load-bearing
Most projects fail in the spec, not the code. This suite front-loads the fight: an iPhone app that pressure-tests raw ideas the moment they arrive, and a macOS engine that runs the surviving spec through seven isolated expert personas before a line of code exists.
In daily use- 7 isolated personas
- ~5 min per critique
- iOS + macOS native
The engagement
Challenge
One model critiquing an idea agrees with you seven ways
Ask a single model to critique an idea from every angle and you get a polite, harmonized list. Models default to agreement, and the friction that makes critique useful, conflicting incentives and professional skepticism, only emerges when the viewpoints cannot see each other. Doing that by hand across seven chats works, and burns hours per spec.
Action
Architectural isolation instead of a bigger prompt
Two native apps that share one contract. Spitballer (SwiftUI, iPhone) catches an idea the moment it arrives: blurt a messy thought, get payer-anchored directions plus the ideas it rejected and why, then emit a structured 8-section spec. Idea Critique (Swift, macOS) runs that spec through seven expert personas in parallel and in isolation, sharpens each with an adversary pass, and synthesizes a verdict, ranked risks, and the contested points where the experts disagree.
Result
The disagreements surface before the code exists
A five-minute run replaces hours of manual multi-chat critique, and the Contested Points section, where isolated experts genuinely disagree, is signal a single prompt cannot produce. The suite is used on real projects, including the spec for another tool on this page, and its verdicts have redrawn scope before build more than once.
How it is built
Isolation is the feature
The personas never see each other's critiques. A designer round tunes a domain expert and a skeptical target user to each spec before the panel runs.
- 01A cross-app contract. Spitballer generates the exact 8-section spec format Idea Critique ingests, so the handoff between apps is copy-paste, not reformatting.
- 02Persona isolation by architecture. Seven personas run in parallel with no visibility into each other, then an adversary pass attacks each critique before synthesis. The disagreement is structural, not prompted.
- 03A tuned panel per spec. A Round-0 designer reads the spec and proposes the domain expert and skeptical target user, so every run gets critics fitted to the idea.
- 04Local and bring-your-own-key. Both apps are native, no backend, no account, no telemetry. Specs and reports never leave the machine except for direct model calls.
- 05Idea capture with judgment. Spitballer returns the directions it rejected and why, with five tuning dials and a history of every idea by status: captured, pursuing, killed, someday.
What it proves
Dogfooded on its own siblings: this suite critiqued the spec of another tool in this portfolio, and the build changed because of it.
See the rest of the work →Personal tools, built and used daily. Costs are paid directly to the model provider with the user's own key.