The prompt
DOGFOOD 2026 in one line: build the platform that will judge you. Every team ships a submission and judging portal, then an automated acceptance checker grades their own portal against it.
188 teams submitted. That constraint killed demo-ware early: if peer-score reads do not 403, if closed events accept submissions, if CSV export breaks — you fail, live, in front of the judges.
What we shipped
T1 core: JWT httpOnly-cookie auth with five roles, events with server-enforced deadlines, invite-code teams, draft-to-submitted projects, and a public searchable gallery.
T2 judging: track assignments, weighted rubrics frozen at exactly 100%, backend-enforced judge isolation, conflict and self-review blocks, progress dashboard, z-score calibration with Bradley-Terry and Borda views plus a ROBUST/FRAGILE boundary verdict, audit trail and CSV export.
T3 voting and T4 stretch (API keys, HMAC webhooks, Ed25519 certificates, gallery widget, bulk import/export) round it out — see the product posts for those.
Result
Claimed T1+T2, verified 7/7 PASS on run.py. Two reproducible demo events prove the awkward cases: Calibration Cup (4 judges × 30 projects) and Grand Jury (30 judges × 40 projects), both ending FRAGILE — raw #2 falls after calibration.
The full 3,500-word build log is in the repo at blog/build-the-platform-that-will-judge-you.md and was submitted to the Write-Up Quest tally form.
Run it yourself
Every post maps to a real route or file in this repo. Start with the gallery, then the docs.
Keep reading
View allSep 5, 2026 · Company
What we chose not to fix (yet): the threat-model edition
No audit hash-chain, no CSRF tokens, single-process rate limits — the accepted risks we disclose on screen instead of hiding.
Oct 3, 2026 · Engineering
Run the whole platform with one command: setup guide (main branch)
Clone main, docker compose up, seed fixtures, test accounts, and the 7/7 acceptance checker — everything to go from zero to judging in minutes.
Sep 28, 2026 · Engineering
Fair ranking is not an average: z-scores, Bradley-Terry and Borda
Raw averages reward lucky judge draws. How per-judge calibration plus two extra ranking views produce a ROBUST/FRAGILE verdict organizers can defend.