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
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.