The spreadsheet

The whole of ETS27 is one shared spreadsheet: grey cells, row numbers, a formula bar, four track colours borrowed from the Texas grid gauge, and FREE YOUR MIND typed into the sheet at about 269 px. The mind is a collaborator in that sheet: its cursor carries a black name flag, it fills cells to answer you, and it keeps typing answers for other visitors while you read.

The story

Everyone in the ETS audience lives in spreadsheets, which is exactly why nobody expects a summit to be one. The page opens on a sheet and nothing else. The frozen title row carries the facts (ETS27 · Energy Thought Summit · Free Your Mind · Austin, Texas · May 3–6, 2027 · Tickets from $320.89). Row 2 prints the fork as two verbs. Rows 3 to 24 hold the theme as a floating text box fitted to columns A–L, its baselines sitting on gridlines and the gutter numbers running beside the letters like a ruler.

Beside MIND, the mind has pasted five of Tuesday's speakers in two tiers (H15, J15 and L15, then I19 and K19), each cropped from the nose bridge up at one scale. This is the owner's original seed image (a head from the nose bridge up: a mind in free space), rebuilt from real people instead of a mannequin. Apple Vision face landmarks find each person's eye line, so every crop ends exactly on the nose bridge. A crop rule refuses any photo that would need a blurry upscale, has no room above the eyes, would push the face off-centre or would hide the eyes, plus four photos that were looked at and rejected (sunglasses, a turned face, café bokeh, a soft scan). A refused photo leaves a hatched cell of the same size, never a bad head.

Directly under MIND, in G22:L22, the mind is visibly typing an answer for another visitor (=MIND("where do I stay")), and the cell says "simulated visitor" where it sits. The row is drawn as a single 2 px rule under the text, the formula bar's own grammar, with the mind's flag standing on it. Rows 23 and 24 stay blank, so the answer's selection border is the only heavy rule at the seam, and a still frame always catches the mind mid-sentence.

Under the title is answer 01, "Who's speaking Tuesday". It has a numbered black cell, a 40 px heading, a short caption in the light weight, eleven rows copied from the Tuesday block below with their track colours, and a source footnote.

The rest of the site is the same sheet read downward:

Sheet tabs are the navigation. The status bar does spreadsheet arithmetic on whatever is selected, and also shows Austin time to the second and the days to go.

Typography

Colour world

Layout grammar

Motion and life

  1. The composer types =MIND("Who's speaking Tuesday") and the status bar reads Calculating.
  2. The mind's cursor hops cell to cell and fills answer 01, about 2.3 s in all; the heading records the time it took.
  3. It pastes the five heads (two on the phone).
  4. The visitor's own selection settles on A25:L37, with the column letters and row numbers darkened as in any sheet. The status bar sums the selection: Count 11 · Sum 5 h 45 min · Avg 31 min. Marching ants stay around the Tuesday rows the answer was copied from.

The fork and the mind

What to build next

  1. Real data. Swap the ETS26 stand-ins for the ETS27 lineup and agenda as they are announced. The generator lives in src/: python3 -I -B src/gen.py index.html reads prototype/data/ets.sample.json, src/faces.json and the crop rule in src/crops.py, and writes this static sheet byte for byte. To redo the crops, run swift src/faces.swift against fresh portraits; it writes the face landmarks.
  2. The mind as a service. Route =MIND() to the model with the sheet's rows as its only context: the brief's structured answer, a short say-line plus row ids. Stream cells back in the same typing choreography, and keep the dim-while-typing preview local.
  3. Real other-visitor questions, moderated and anonymised, queued into the live cell. This replaces the simulated counter and the scripted questions.
  4. Export. Offer "download this sheet" as .xlsx or .csv of the programme, plus a calendar file per row. Other event sites struggle to offer this, and here it is trivial.
  5. Accessibility. The title is already a level-one heading and only the status bar's mode cell is a live region. Still to build: grid semantics (real row and column headers), arrow-key cell navigation, and a screen-reader summary of each answer block.
  6. Production portraits. Copy them into the build instead of hotlinking, re-run the nose-bridge crop on the ETS27 headshots, and agree the crop style with speakers, with a full-portrait fallback.
  7. Consent. When a consent notice is needed it appears as the sheet's message bar under the formula bar, never as a strip over the tabs, which are the navigation.

Risks