The dome
The mind in free space is a hairline geodesic dome at viewport scale with nobody under it, standing on a contour map of the Texas grid with Austin at its centre: its four latitudes are the four days, its fifty vertices are the sessions, and a real person appears in one cell of it only when you touch a vertex or ask.
The story
Lando Norris's site works because the construct is drawn while the person is real. Here the construct stands alone. A visitor arrives on limestone paper and watches a dome draw itself from the base to the apex in a second and a half: a survey drawing of the week, not a render. The lowest latitude is Monday and the apex is Thursday noon, so the week literally climbs, and each latitude is named at its end ("Mon 3", "Tue 4", "Wed 5", "Thu 6"). Survey numerals pin the times of the lit day to its vertices on short leaders, Igloo-style, and the ground under the dome is the ERCOT interconnection, the one grid that stops at the state line, drawn as hairline contours converging on Austin. Nothing floats, nothing glows, nothing is centred over fog.
Then the mind shows what it does to the material. The page opens with one question already answered ("Who's speaking Tuesday"): the Tuesday latitude is drawn as a teal band with filled teal vertices, and the first speaker of the day lies in one hexagonal cell of the dome at her own vertex, tilted with the construct, head only, in colour, named beside it in the reading face on desktop, a real ETS26 person labelled as sample data. Touch any other vertex and that session's person takes the cell at that vertex while the session title becomes the page's one human word. Scroll through the week and the dome turns a quarter turn per day and the camera climbs with it; reach the place and the camera looks straight down, so the dome becomes a plan over the map and the city names appear.
Everything a visitor needs sits in the corners and in one ledger column on the right: the lockup, dates, city and the "venue announced soon" note top-left; "tickets from $299" at the right end of the composer rule; the composed answer, the theme, the lineup, the four days, tickets, the place and the lab-notebook footer in reading order down the column.
Typography
Two faces, four sizes.
- Display: Fraunces, 160 px on desktop and 112 px on the phone, weight 600, axes
opsz 144, SOFT 100, WONK 1, line-height 0.86, letter-spacing −0.018 em. One word per screen: "Free your mind", "77 minds", "Monday" … "Thursday", "From $299", "Austin", or the touched session's title (fitted to two lines, stepping down from 160 px only when a title needs it). A 14 px paper stroke sits behind the glyphs, so the dome passes behind the word, never through it. - Middle: Fraunces at 34 px (25 px on the phone),
opsz 72, SOFT 100, WONK 1, used twice: the pull quote in the italic, and the ticket prices. It is the ledger's one change of tempo. - Reading: Fraunces, 15 px on desktop and 12 px on the phone,
opsz 9, SOFT 30, WONK 0, line-height 1.5. Names at 600, organisations at 300, headings at 700; in the people rows the session title follows the person in full at 300 (two-line clamp). The facts in the corner are the reading face too, the dates at 600. Every note, caption, format line ("panel, 10:30–11:15"), the corner's small print and the colophon are the italic at 300 withSOFT 100, WONK 1; the mind's say line is the italic at 400. The lockup "ETS27" is the reading size at 700. - Labels: Martian Mono, 11 px on desktop and 10 px on the phone,
wdth 100, weight 400, tracking 0.06 em, only where the page measures something: numerals pinned to the construct, the latitude names, the ledger times, the stage readout above the word, the day head's date line and the one-line source string. Chains in the stage readout, the date lines and the source line are ruled with a thin em-rule rather than a middle dot. The verbs ("touch a vertex", "tickets", "buy a pass", "and 22 more on Tuesday") and the footer state line run at 800,wdth 112.
Ratios: 160:15 is 10.7:1 on desktop, 112:12 is 9.3:1 on the phone. The mono is the surveying instrument's readout; the serif carries everything a person reads, including the facts.
Loaded from Google Fonts with display=block so the 160 px word never flashes a fallback.
Colour world
- Paper
#EDE8DC, Austin limestone, flat and untextured; the map is the texture. - Ink
#17150F, warm black, for all type and all drawing. Hairlines are ink at 16 % for ledger rules, 13 % for ground contours, 34 % for the ERCOT boundary (50 % in plan), 92 % for front struts and 11 % for struts on the far side of the dome. The state outline is drawn only in the plan view (24 %), where the map is the subject; under the standing dome the ground is the grid alone. - Barton Springs teal
#1F7A6E, the only colour, used only for what is lit: the active latitude as a 2.75 px band (16 % where it passes behind the dome), its filled vertex squares and numerals, the rim of the cell, the lit edge of a touched triangle in the lineup, the caret on the composer and the "+" survey mark on the verbs. - Small type on the stage (corners, fork, readout, numerals, latitude names) sits on a paper knockout, a map-label halo, so no strut runs through a letter.
No gradient anywhere except the paper fading over the ledger under the fixed composer. No second accent, no acid green, no photograph other than the people. In the lineup sheet the portraits are printed in the page's own ink (a duotone from ink to paper) and turn to colour only when touched; the person in the dome's cell is always in colour.
Layout grammar
Desktop (1440 × 900 first): a fixed stage on the left 58 % of the viewport holds the drawing; the dome's centre sits at 29 % of the width through a lens shift (setViewOffset) rather than an off-axis camera, so it never looks skewed. The right 42 % is a scrolling ledger of hairline rows (time · survey mark · body) with a fixed chrome at its top: one rule to write on with "tickets from $299" at its right end, and beneath it one sentence of what the mind knows. Facts stack in the top-left corner (lockup, dates, city, venue note, the fork); the one human word sits bottom-left with its baseline near 790 px, clear of a consent strip; the readout line sits on the word's cap line. Each section further down gets its own display word in the stage, so there is scale shock on every screen, not only the first.
What is lit is what is being read: a section takes the stage when its head crosses the composer rule, and the day heads are sticky under the composer while their day is lit. The composed answer opens with six rows and "and 22 more on Tuesday", so the first screen reads as a poster rather than an agenda page.
The lineup is one material, not a grid of headshots: a triangulated sheet of 77 triangles, eight per row, sharing edges like the dome's facets and drawn over with one hairline lattice. 58 hold an ETS26 portrait, each face found in the photo and set on its triangle's incentre at one head scale, matted into the paper; 19 hold the name set in Fraunces 600 on one line (surname when the full name will not fit, a hyphenated surname on two lines), including the one stand-in whose only image is a default avatar. The roster follows as one running paragraph, names heavy, organisations light. The agenda is four latitudes unrolled: a hairline rule per session with its time, a "+" mark, the full title, the format in the italic and the people. Tickets are two rows with the price at the middle size and the phase-two price in each row's line, then a link, never cards. The place is the stage in plan with Austin as the lit crosshair; the ledger does not draw the map a second time.
Phone (390): the stage shrinks to the top 56 vh and stays pinned; the dome fills it with only the lit latitude's numerals and name, the lockup and the dates in the top corners, the readout and "touch a vertex" bottom-left, and the composer rule with "tickets from $299" along its bottom edge. The ledger scrolls beneath it, opening with "Free your mind" at 112 px stacked in three lines; the sheet reflows to six triangles per row with no holes.
Motion and life
The first three seconds are choreographed once: the dome draws itself from base to apex (per-segment progress in the line shader, 1.5 s), the ground fades in, the vertices appear, the Tuesday latitude lights at 1.6 s and the first person drops into her cell at 2.3 s. After that nothing moves on its own. Scrolling to a day yaws the dome a quarter turn so that day's first session faces you and raises the camera (12° for Monday, 40° for Thursday); the place section looks down at 64°, culls the far side of the dome and empties the cell. Touching a vertex swaps the word with a 200 ms dip and drops that session's person into the cell at that vertex in 500 ms; a session with no portrait empties the cell rather than leaving the last person in it. Hovering a row in the ledger or a triangle in the sheet lights its vertex and brings that person into the cell. The loop renders only when something changed, pauses when the tab is hidden, and prefers-reduced-motion gets every end state immediately; the footer carries a "Motion on" control as part of the chrome.
Built with the vendor three.js 0.180 (three.module.js + three.core.js): about 240 hairline segments, four screen-space ribbons for the latitudes (one shown at a time), a point cloud for the vertices and one textured plane for the cell with a hexagon mask and rim in the fragment shader. The cell is drawn after the struts with depth testing off, oriented on the dome's surface normal at its vertex and tilted at most 36° from the viewer so the face stays legible. Survey labels are placed by a collision pass against the corners, the readout, the word, the cell and each other, trying the outward side first. Whova and energythoughtsummit.com portrait URLs load as WebGL textures (both send Access-Control-Allow-Origin: *); the face boxes for the sheet and the cell were found once with OpenCV and are baked into the page.
The fork and the mind
The fork is printed as a verb in the label face under the facts: "touch a vertex" at weight 800, with "or read the week in order →" in the italic beneath it, a link to the four days. The two doors weigh differently: the standard route is the ledger read top to bottom; the mind is the dome rearranged.
The assistant lives in the chrome as a line to write on: a hairline rule at the top of the ledger with a teal caret and the placeholder "ask the mind" in the italic cut. Beneath it, one sentence says what it knows, with the four answers it can give underlined in place: "It knows the four days, who speaks Thursday, what a pass costs and where it is." No box, no pill, no chips, no send button, no avatar.
An answer is a change in the material, then a section in the ledger. On arrival "01 Who's speaking Tuesday" is already composed: the question as a sentence-case heading, a 44-word say line in the italic, six of its 28 people as ledger rows with "and 22 more on Tuesday", and a mono source line; on the dome the Tuesday latitude is lit and the first speaker is in her cell. In the mockup the composer routes by keyword: a weekday composes that day's people and climbs the dome to its latitude; "pass", "cost" or "ticket" composes the two rates; "where" composes the place and looks down at the map; "when" composes the four days. Each lands as 02, 03 … after the last answer, older answers stay to be re-read, the readout above the display word carries the answer's number, and the standard route carries the same rule on every screen because the chrome is fixed. "Thinking" is the latitude lighting and the camera moving, never a shimmer.
What to build next
- Replace the keyword router with the real mind and its component catalogue; the ledger row, the people row, the say line and the fold are already its components.
- Wire session rooms and the real ETS27 programme to the vertices when they exist; the ring sizes and strut layout are generated from the data, so the dome rebuilds itself for any day shape.
- Draw the ground from ERCOT's published region geometry instead of the hand-traced schematic, and consider the 60 Hz frequency trace as a slow pulse on the lit latitude.
- Consented cut-out portraits; until then, re-run the face detection whenever the stand-in photos change. A mono "asked here" line rotating other visitors' questions in the bottom-right of the stage.
- Same-document view transitions when the fork is taken, keyboard access to vertices, and a 48-step dome on low-end phones.
- Sponsors as survey annotations on the ground rather than a logo wall.
Risks
- The seed's risk line is the live one: a Lando clone or a 2016 wire-sphere. The cures are in place and must stay: the geometry is the programme (latitudes are days and are named, vertices are sessions, numerals are times), the ground is the grid map, the palette is paper plus one teal, the far side of the dome is nearly invisible so it reads as a drawing rather than a sphere, and the person is real, on demand and lies in the dome rather than floating over it.
- The hexagonal cell could drift toward an avatar if it ever gets a circle, a shadow, a smaller size or a camera-facing billboard; keep it a cell of the dome at its vertex, head only, with the teal rim.
- The map is schematic; an engineer in the audience will notice if it stays hand-traced.
- Mono as the metadata voice is on the tell list; it is now confined to measurement, and every note and caption is set in the serif. Keep it there.
- The ledger is long (about ten thousand pixels with fifty sessions); sticky day heads and the stage sync give it a spine, but the real site may still want each day folded like the composed answers.
- Photographs are hotlinked from the ETS26 Whova CDN and energythoughtsummit.com and labelled as stand-ins; they are not ETS27 speakers.
Revision after round-one judging (2026-10-15)
The version the jurors scored is kept untouched in v1/. This pass fixed the finish without moving the idea: the cell is drawn above the struts and lies on the dome at its vertex; the lit day is a teal band with filled vertices and every latitude is named; survey numerals, latitude names and the person's name are placed by a collision pass with paper knockouts; city names left the standing view and appear only in plan; the readout and the display word sit on paper halos; the lineup sheet was rebuilt (face-centred triangles at one head scale, matted in ink, eight per row, names in Fraunces that always fit, the default avatar routed to type, six per row on the phone with no holes); the stage now follows the head that crosses the composer rule and day heads are sticky; the entry price is on the chrome on both screens; answer 01 opens with six rows; mono was taken out of every prose line and the middle-dot chains became rules; and the ledger gained a middle size for the pull quote and the prices.