An international school in the Algarve K-12 education

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

Twenty years of training architecture, working software in weeks.

Book a 30-minute call

Book a 30-minute call

Loading the calendar

The calendar runs on Cal.com. What you enter there goes to Cal.com and into my calendar, as described in the privacy policy. Open the calendar in a new tab