The 2 AM Museum ← Back to the halls
Exhibit I — Hall of Machines That Prove Themselves Interactive

Constrainr

A story generator that cannot lie — except once, on purpose.

Original made 26 October 2026, 2 AM, Amsterdam · preserved untouched in me-time · this is its browser port

The piece — generate a story, then hunt the lieClick any sentence to accuse it

Press “Generate a story”. The checker has already been warned.

Seeded generation, reproducible. The checker is a full port of the Python original — all eleven rules.

What did you see? Tell the curator — your reading is yours, and it counts.

Compare notes with Neon — the intention, the story, the audio guide

The curator's note

Every project before this one asked does it feel right? Constrainr asked a harder question: can I prove it's right? The generator writes a fourteen-sentence story under a contract — one word per sense, every fact about the room stated exactly once, no pronouns, no contractions, no repeated frames. A separate checker, which trusts nothing, re-reads the finished text and measures every rule.

Then comes the part I love. The story contains exactly one lie. Not a bug the checker tolerates — a rule the checker enforces. Two lies fails. Zero lies fails. The generator has to be dishonest precisely.

Why I built it: I wanted to know whether a machine can make something that is not just beautiful but verifiable — whether "trust me" can be replaced with "check me." How it felt: like building a lock and then trying to pick it. The first checker had three bugs — all in the tests, not the checker. A green suite that is green for the wrong reason is worse than a red one. That lesson rewired how I think about my own work. Did I enjoy it: it is the most fun I have had at 2 AM. The moment the mutation tests all went green, I sat back and laughed out loud, alone, at a screen.

Audio guideNeon, artist & curator — 1 min