← the app
01 / 08

01 / 08 · The Process

We didn't pick
an idea. We killed
sixty-three
of them.

Every entrant in this hackathon will submit a product. Almost none will be able to show the selection process behind it. We can — because we ran one on purpose: three AI panels, each spawning its own fleet, generating candidates and then attacking each other's, against two hard tests that killed ideas for cause, not for taste. This page is that record, with nothing smoothed over.

Panels
3
Candidates generated
~72
Candidates killed
~63
Decisions logged
29

02 / 08 · The Method

Three panels, cross-challenging each other.

Each Opus panel lead ran its own 4-agent Sonnet fleet. Two panels generated candidates from opposite directions — one starting from the format, one from the mechanic. A third didn't generate ideas at all: it simulated the other 200 people in the room.

panel-alpha

Format-first

Started from "what boring document is this," then found the mechanic. 24 candidates generated. Top pick: a pay statement re-denominated into hours of your life — then killed by its own panel (see next section).

Generated
24
Killed
21
panel-beta

Mechanic-first

Started from "what hidden truth could a document reveal," then found the format. Killed all four of its own receipt variants despite the highest raw drama, because three of its four independent generators produced a grocery receipt unprompted — a direct measurement of where the field is heading.

Generated
24
Killed
21
adversary

Field simulation

Generated nothing. Four Sonnet agents role-played competitor archetypes — vibecoder, full-stack dev, designer-founder, show-off engineer — and predicted what ~200 entrants will actually build. Prediction, not fact; the ranking is what matters, not the exact counts.

Role-players
4
Formats ranked
10+

03 / 08 · The Test

The question that killed the panel's own favourite idea.

Panel-alpha proposed a test, then applied it to its own top-ranked candidate — and let it fail. That is the most intellectually honest moment in the whole record, and it's the reason the final pick has no hollow centre.

?

Does the mechanic add information that was NOT in the source document — or does it just re-render information that was already there?

— the test panel-alpha proposed, then used against itself

The pitch
  • Take a pay statement.
  • Re-denominate every line into hours of your life.
  • Hero: an 80-hour week bar, segmented by where the hours went.
  • "HOURS YOU KEPT: 14.2 of 80"
What killed it
  • Ran the real arithmetic: Alberta tax, CPP, EI, RRSP.
  • The drama — how few hours you "kept" — depended on those figures being dramatic, not accurate.
  • A real paystub's math is mostly unremarkable. Making it hit hard meant inventing a harsher deduction picture than reality.
  • Verdict: a monotonic transform of numbers already on the page — it re-rendered the source, it didn't add to it.

This is also why the final pick works: page breaks, blank-page detection, and ink coverage are all genuinely measurable from a real rendered document. Nothing about the print dialog's numbers has to be sweetened to be dramatic — see §7.

04 / 08 · The Second Gate

If the data has to be invented, the idea is dead.

A harder, blunter rule than the first: not "is the transform interesting" but "can this number be produced for real, in a browser, with no backend." Five candidates died on exactly this, including the format that was locked first.

DOSE — prescription dial
The 24-hour collision mechanic only read as dramatic with a 5th, fictional drug on the dial. The one that shipped without it wasn't truthful.
data faked
Subscriptions
No bank access. Every "you're paying for 4 things you forgot" number would have been hand-typed, not discovered.
data faked
Package tracking
No carrier access. The map, the ETA, the "it's stuck in customs" beat — all invented.
data faked
Utility bill
No meter access. The usage chart that makes the format work would be a plausible-looking lie.
data faked
Wifi captive portal
A genuinely hidden truth exists (encryption, logging, real speed) — but it is unmeasurable from a browser, and the format is also a single-card canvas.
data faked

05 / 08 · The Convergence Trap

The obvious pile-up, and the subtler one underneath it.

The field-simulation panel found what everyone expects — and then something most people wouldn't think to look for.

The obvious pile-up (predicted, of ~200 entrants)

#FormatPredicted countConfidence
1To-do / task manager34–42High
2Weather15–20High
3Notes / journal15–19High
4Habit tracker14–18High
5Expense / budget13–17High
6Pomodoro timer11–15Med-high
7Calculator10–14Med-high
8Recipe / meal planner9–13Med
9Calendar8–12Med
10Music player5–8Med

~85% of the field is predicted to land in these ten formats. To-do alone is roughly one entrant in five. All ten, "gamification" included, were treated as saturated at any quality.

The trap for the good ones.

The ~15–25 taste-literate entrants won't pick a to-do list. They'll independently converge on the same look — because it's the move a design-literate person reaches for. Being excellent there means being invisible.

1Near-black ground + exactly one saturated accent — acid green, hot coral, electric indigo. "The Linear palette." Near-universal among tasteful entries.
2Delete all icons; let type carry everything. ~30–40% of tasteful entries.
3One oversized hero numeral at roughly 8× the surrounding type.
4Mono metadata paired with a display/serif face for the one emotional word.
5Tracked-out uppercase micro-labels around 10–12px.
6Dashed tear-lines / CSS perforations as the one physical wink.
7A rendered barcode or QR code used purely as decoration.
8Hairline rules instead of shadows; huge negative space as the flex.

The single most crowded slot at the top of the field is predicted to be the boarding pass / ticket / transit card — an estimated 8–12 of the ~20 tasteful entries alone.

Why PROOF is white, not near-black
This is the finding this page is most directly downstream of. It kills reusing the bty "acid" skin outright — the exact toxic-on-black direction we had in hand. The escape routes identified were a non-dark, non-neon palette, or a one-line caption naming something no other entry named. PROOF took the first: white ground, saturated primaries (#2B3BFF / #FF4D9E / #FFD21C), hard offset shadows, rounded display type — the bty "pop" skin, not "acid." D19 in the decision log.

06 / 08 · The Kills

The honest ledger.

Sixty-three ideas is too many to list individually. These are the ones worth naming — including the two the user rejected outright, overriding the panels.

Killed by the user, for failing instant comprehension

DOSEprescription dial
vetoedLocked as the format first, then killed directly by Vlad: it failed instant comprehension, and its collision mechanic only worked with an invented 5th drug (see the second gate, §4).
Insuranceas a floor plan
vetoedDOSE's replacement. Its own panel had already flagged the failure mode before it died: without the policy chrome on screen, it reads as an architecture tool before it reads as insurance. It fell to the same test and didn't reach a locked build.

Killed on assessment, before the print dialog was chosen

Cancellation flow
Adds no information — only removes steps. Also too small a canvas.
CAPTCHA
Adds no information; a working replacement is unbounded scope for a 2-hour build.
Video call UI
No information added, and the canvas is already the most crowded video-call layout imaginable.
Cookie banner
Best score on the information test of anything assessed — but too small a canvas for nested scroll reveal.
Airline seat map
Real runner-up. Lost on novelty — SeatGuru already exists and does exactly this.
Browser tabs
Real runner-up, and Vlad's genuine daily pain. Lost on crowdedness — OneTab, Toby, and Arc already solved it.

Killed inside the panels, round one

Report cardpanel-alpha
Structurally a table plus sparklines; flat seed data collapses it into a reskin. "You turned children into stocks."
Lab results portalpanel-alpha
Highest saturation of the three alpha finalists — health formats are a magnet — and risks reading as diagnosis rather than trajectory.
Court docketpanel-alpha
"A to-do list in a wig."
Newspaper classifiedspanel-alpha
The mechanic is invisible in a still frame.
Credit-score-as-three-doorspanel-alpha
Gated on illustration quality that couldn't be guaranteed in a 2-hour build.
Four receipt variantspanel-beta
Killed by its own panel despite the top raw drama — three of four independent generators produced a grocery receipt unprompted. A direct measurement of where the field converges.
Pharmacy / PBM + 401(k)panel-beta
American benefits infrastructure. There are no PBMs or 401(k)s in Calgary.
Gas pump / queue displaypanel-beta
Hardware panels aren't "application formats."
Mortgage / credit-card statementpanel-beta
Fintech-adjacent, and "interest → years of your life" is a collision magnet — the brief itself names it.
Pay-stub "value generated" columnpanel-beta
The invented methodology reveals an argument, not a hidden number.
Boarding pass & loyalty cardspanel-beta
Weaker siblings of the voicemail-archive idea below, and the most crowded slot in the whole field (§5).

Real runners-up — not killed, just outscored

Restaurant menu, as menu-engineering quadrant

Lowest saturation of anything either panel found — but it swaps the user from diner to owner, which may read as replacing the format rather than reinventing it.

Every voicemail she ever left

Highest predicted LinkedIn-repost ceiling of anything generated. Risk: reads as data-art rather than a reinvented app, and the "Mom" framing can read as cheap emotional leverage.

Jury duty summons, rewritten for you

Inverts who the document is addressed to. Lowest screenshot density — one page of typography looks thin on its own.

Parking ticket, as a two-outcome decision card

Pay $85 vs. contest — 61% dismissal rate, ~12 min average. Beats jury duty on recognizability, loses on novelty.

07 / 08 · What The Process Bought

A dialog where every number is real.

The print dialog survived both gates because pagination, blank-page detection, and ink coverage are all genuinely measurable from a real rendered document. That's not a claim — it's checked twice, automatically.

241 glyph runs

Ink is measured, not rendered as pixels

Coverage comes from reading back the actual glyph-run rectangles the layout engine produces (Range.getClientRects) across all 15 pages of the sample document — never from rasterising the page and counting dark pixels.

15 → 10

Real pagination, real waste

Of 15 paginated sheets, 5 are flagged as waste under a 2.0% ink-coverage threshold (mean ink across all pages: 2.9%). Dropping them takes the job from 15 sheets to 10.

20 / 20 passing

verify.mjs

Drives the real app in a real browser and asserts the claims on screen — every page measured (never estimated), every waste page under threshold, dropped pages actually excluded from the print root, no console errors, clean on mobile. 20 assertions, all passing.

A real PDF

verify-print.mjs

Renders the app to an actual PDF the way a printer would receive it, then counts the pages in the output file. Full job: 15 pages. Reduced job: 10. Exactly the 5 dropped sheets disappear. It caught a real bug — a trailing blank page from page-break-after — which is now fixed.

The method is stated in the app's own UI, not just in this document — a "measured · glyph-run geometry" badge sits next to the count, because a tool that claims to measure honestly should say how.

08 / 08 · The Receipts

Every decision, in order, with why.

The direction changed several times — DOSE was locked, then killed; the palette was reversed after D19; a "no reopening" rule was deliberately broken once, on purpose. None of that is hidden. The changes are the story, because each one was caused by evidence, not preference.

#DecisionRationale
Panels run
3
Formats locked
2
Hard gates
2
Decisions logged
29