The problem
A comedy voice game, openly based on the wish rules in the film Obsession (2025). You work the support line for a wish toy. Callers got exactly what they wished for, word for word, and you have to talk them round before their mood or patience runs out. Everything runs on the laptop, so the hard part is speed: a caller has to answer fast enough to feel like a phone call.
Who did what
The project ran in phases with written gates. Claude Code built the engine, the desk and the benchmarks, and gathered the evidence for each gate. I closed the gates, picked between design options, and judged anything subjective: the phase-gate skill forbids Claude from passing a criterion like “is it funny” itself. For the gate on the playable desk, I played 39 calls by voice.
Constraints
- No cloud calls. Speech recognition, the language model and the voice all run on a 16 GB MacBook Air M3, with model memory kept under about 9 GB.
- A voice turn has to answer within 1.5 seconds at the median, and within 2.5 seconds for nine turns in ten (p90).
- The judge that reads your replies has to agree with the labels at least 85% of the time.
The trade-off
To hit the speed target, the caller now says its first sentence before the judge has read your reply. After you ask a question, the caller now starts speaking in 0.78 seconds at the median (0.82 at p90). After you pitch an idea, it takes 0.90 seconds (1.16 at p90). Both are well inside the targets. The cost: the voice’s mood lags one line behind, and after echoing an idea the caller pauses for about 1.8 seconds before the rest of its reply.
Outcome
- A prototype. I closed the playable-desk phase as demo-worthy, then reopened the earlier phase on caller quality and speed.
- The judge agrees with 43 of 46 labels (93.5%). Claude drafted those labels and I haven’t reviewed them yet, so the number is provisional.
- 10 caller cases, all passing the case checks.
- 8 commits over two days.
How it was built
- Four agents on cheaper models:
bench-runner,judge-evaluatorandmodel-scouton Haiku, andcase-writeron Sonnet. - Three skills:
latency-bench(always after a ten-minute warm-up, since the laptop has no fan),new-wish-case(“fix the case, not the judge”), andphase-gate. settings.jsonblocks Claude from reading the audio recordings and the model files.
