Skip to content

How we built a two-track schedule from 412 proposals

We had 412 proposals for 16 track slots. This is how we chose them, what we got wrong in 2025, and the one column we added to the spreadsheet that changed the program more than anything else.

The call for speakers ran from 1 June to 30 September. We asked for a title, a 150-word abstract, an outline and one sentence on what the audience could do differently on Monday. We didn't ask for a bio until round two.

Two blind rounds

Every proposal went to three reviewers who saw the title, abstract and outline, never the name. Reviewers came from both tracks and from outside the collective, and nobody reviewed a proposal from their own organization.

  • Round one cut 412 proposals to 61. Each reviewer scored about 50.
  • Round two read the 61 in full, with bios, and picked 16 talks plus 8 reserves.
  • Workshops were chosen separately, from 38 proposals, by people who had run one.

The column we added

In 2025 we kept picking talks that were clear and correct and that anyone could have given. This year the spreadsheet had a column called who_else: who else could give this talk? If the answer was "anyone who read the docs", the talk scored lower.

The best talks were about something that broke, written by the person who had to fix it.

Bram Hollis, program chair

Balancing the tracks

Build had nearly twice as many proposals as Tend, 263 against 149. We didn't fix that with a quota. We fixed it by asking moderators directly, in the places moderators already talk, and by paying for workshops as well as talks.

Proposals by track 412 in all; workshop proposals were counted separately
Bar chart: 263 Build proposals, 149 Tend proposals, 38 workshop proposals. Build263 Tend149 Workshops38

Twenty minutes between talks

Last year we ran 30-minute talks back to back with five minutes between them. People ran between rooms and missed the first five minutes of everything. This year talks are 40 minutes with a 20-minute gap, which costs us four slots a day.

YearTalkGapTalks per day
202530 min5 min12
202740 min20 min8

What we'd change

Next time we'll publish the scoring guide with the call, not after it. Four people told us they would have written a different proposal if they'd known about the who_else column, and they were right.


Questions about the program go to the program team. The full schedule is on the schedule page.

Read next

From the dispatches

Part of the Design Systems Library