Rebuild
A live workshop app that stress-tests assignments against AI
- Built in 1 day
- Live audience
- 7 prompt iterations
What it is
Participants scan a QR code and submit redesigned school assignments from their own phones. The submissions appear on a presenter wall, grouped by age band. Any one of them can be put through a stress test that attempts the task the way a student with AI would, and returns a verdict on whether the redesign held. Built in one day for a whole-staff session at a school.
The problem
You cannot tell a room of professionals that their work is vulnerable and expect them to believe you. You have to let them find out. The app turns an argument into evidence, generated by the audience about their own material, in real time. That is the method, and it transfers: any organization arguing about AI internally can be handed its own material and a wall.
The hard part
The engineering under the wall. The stress test runs server-side under service-role credentials, triggered by a deliberate presenter action; cards on the public wall stay unmarked. A compare-and-set claim means two simultaneous triggers cannot double-call the model, and a start timestamp recovers stranded rows without a scheduled job. Verdicts carry the version of the prompt that produced them, seven calibration rounds in, so improving the prompt never blocks re-running an older submission. A readability gate sends gibberish to a neutral result and out of the tallies, so one joke entry cannot distort the room’s data. The aggregate header always shows its denominator, tested N of total, because testing is voluntary and a partial sample presented as a whole is a lie.
The constraint. Live software in front of an audience has no retry, so every failure mode had to be designed out in advance. Access control went deliberately narrow. Anonymous users hold INSERT only, and every verdict write and every delete goes through a server function with a service-role client created inside the handler, so nothing had to be configured, or could go wrong, on the day. The spreadsheet the school keeps is styled; the obvious library silently drops styles and frozen panes on its open-source build, so it was replaced. All session data deletes itself after 48 hours.
Stack
- Stack
-
- TanStack Start
- Supabase
- Gemini 2.5 Flash
- ExcelJS