A noir murder-mystery you solve by talking. Interrogate five Claude-powered suspects, each with their own memory, motive, and lies.

The opening. A noir title screen sets the case before the first question.


Question five Claude-powered suspects, then link what you learn with red thread on the evidence board.
Most "AI games" are a chatbot in a costume. The model forgets what you said, breaks character, and there is no real game underneath. I wanted a case where the conversation is the mechanic, and the state behind it holds up.
A web game where you play a detective questioning five suspects. Each NPC is a Claude agent with a private brief: what they know, what they hide, and how they crack under pressure. Evidence you uncover in one room changes what another suspect will admit.
It runs on Cloudflare Workers with Durable Objects, one per game session, which hold conversation state at the edge and keep a warm prompt cache so each turn is fast and cheap. Responses stream over SSE so dialogue arrives as it is spoken. The codebase is a TypeScript pnpm monorepo talking to the Anthropic SDK.
The hard part was cost and consistency: caching per session, bounding tokens per game, and designing prompts so five characters stay in character across a long interrogation.
Parley is a client/server system with real API integration, streaming, per-session state schemas, and hard constraints on cost and correctness. I owned each of those decisions and the product is shipped and live.
Product, design, and build direction. I designed the interaction model and the state schema, and directed the build of the Workers backend and the front end. It is the flagship of my AtomicSpoons games label.