The paragraph
The whole site is one justified paragraph, white on black, set at one size: the summit's own text runs light and the seventy-seven names inside it run bold, and asking the mind does not open a page, it re-weights the paragraph you are already reading and writes its answer into it.
The story
Every conference site is a grid of headshots under a crowd photo. This one is a text. It begins with a giant hairline F that completes its first word, so the theme reads as one lockup, "Free your mind.", and the next sentence is the facts: ETS27, the fourteenth Energy Thought Summit, Austin, Texas, May 3 to 6, 2027, venue soon, tickets on sale. The sentence after that names the two doors: read on, or ask the line at the foot of the screen, and the second door already wears the mind's mark, a white block. Then the mind speaks, inside the paragraph, in its own narrower voice: someone asked the line who is talking about data centres, fourteen names now stand in white, Venkat Tirupati of ERCOT among them, and note 01 has their four sessions. A scrap torn from last year's programme lies in the empty crook of the F, his photograph and its printed caption, directly above his name. Then the paragraph simply names the people in the room, one bold name after another, organisations in the light weight, a dry aside every screen or so ("No beige." "Nobody will say synergy. We checked."). The agenda is the same paragraph continued, and every day opens the way the lineup does, with a hairline initial that completes the day's name: M, T, W, T. Tickets, place and colophon follow in the same voice. Nothing is a card, a tile, a chip or a bubble. The surprise in the first second is a wall of type at 44 px, forced-justified edge to edge on black, that reads as a poster you could hang at A0; the discovery in the next ten is that the question on the bottom rule has already changed it, and that the mind wrote down what it did. Anorak Film set sixty directors inside a manifesto; this takes the mechanism and gives it a reason to exist on an event site, which is that a lineup is something you ask about, not something you scroll past.
Typography
- Display and text: Mozilla Headline (Google Fonts, variable, wdth 75 to 125, wght 200 to 700), loaded once with both axes. Everything the visitor reads is 44 px with a line height of 1.1, justified, hyphenated, last line left,
text-wrap: pretty. - Summit text: wght 260, wdth 100. "ree your mind." and each day's "onday, May 3." run at wdth 125, so the words read with their initials.
- ETS27 in the first sentence: wght 700, the weight of a name.
- Names at rest (no question asked): wght 700, wdth 100. They break across lines like any word.
- Names the mind did not mean, after a question: wght 400, wdth 100. Still white, still legible, visibly lighter.
- Names the mind chose, in the roster and the days: wght 700, wdth 112, knocked out as black type on a white block. The block stops 3 px short of the line above, so chosen names on consecutive lines keep a hairline of black between them. A chosen name never breaks and justification never stretches inside it: its inner space becomes an unstretchable spacer while it is chosen. Hover or focus opens it to wdth 125.
- Inside an answer every name is chosen, so there the block would say nothing: those names run wght 700, wdth 125, no block, and break like words.
- The block is the mind's mark everywhere: the caret on the bottom rule, the chosen names, the note numbers in the running heads, and the door "ask the line" in the fork sentence.
- The mind's own voice: wght 300, wdth 75, same size, never a box. It speaks once inside the paragraph, right after the fork, and once at the head of each note, where its column also narrows to 62 % of the measure.
- The question as a heading: wght 700, wdth 125, sentence case, at 44 px like everything else, balanced, never hyphenated.
- Initials: 580 px, wght 200, floated nine lines deep. One opens the lineup (F) and one opens each day (M, T, W, T). F and T run at wdth 125, M and W at wdth 78, so every initial takes the same footprint, about 405 px. Letters, never numerals, so the page never echoes the four-numerals concept.
- Chrome (facts line, nav, running heads, footnotes, state line, the scrap's caption): 11 to 12 px, wght 500, letter spacing 0.04 em, the same family.
- Numbers only: Martian Mono (wdth 75 to 112, wght 100 to 800). Times and prices inside the paragraph at 0.76 em, wdth 90; note numbers, counts and the snapshot date at 11 px. The running heads keep their words in Mozilla Headline ("on sale", "venue soon", "day 2 of 4" with only the 2 and the 4 in mono).
- Three sizes: 580 / 44 / 12, nothing between them except the optical 0.76 em of the mono numerals.
Colour world
- Surface
#0a0a0a, one lifted black so hairlines and thin strokes do not sparkle. - Ink
#f3efe6, a warm paper white; the knockout blocks and the scrap's paper are this same ink. - Hairlines
rgba(243,239,230,.28). - No third colour. The torn ETS26 photograph is the only colour that ever appears.
Layout grammar
- One column, 40 px from each edge at 1440, no measure: the paragraph fills the width and justification does the texture.
- Facts on the top edge, in one 12 px line: ETS27 · Free Your Mind · Austin, Texas · May 3–6, 2027 at the left; Lineup · Agenda · Tickets · Place at the right. The composer on the bottom edge: "ask", the question at 44 px, a block caret, and "also asked here" written as a sentence (who speaks tuesday, what does a pass cost and where is it · clear). The page passes under the composer through a 28 px fade instead of being sliced at its x-height.
- Sections are running heads, not headings: a 30 px sticky rule with a 12 px label on the left and its count on the right, pinned under the facts line like the running head of a book.
- Order: the lineup (facts, fork, the mind's sentence, then all 77 names), the thread of questions (01 Who is talking about data centres), tickets, the four days (each opening with its initial), place, and the colophon, which states the page's rules and carries consent as a sentence with its toggle inline. Nothing is ever pinned over the line at the foot of the screen.
- Phone at 390: the paragraph runs ragged at 30 px with hyphenation held late (
hyphenate-limit-chars: 7 4 3), because four words to a line cannot justify. Every name stays whole and chosen names drop to wdth 100 (the block alone marks them), so the longest name fits the column. Initials are 128 px. The top edge carries the facts and the four nav words in two rows. The composer is one row at 18 px, so the caret stays visible. The two-by-two nav table is gone. The first phone screen holds the F, the facts, the door block and the mind's sentence with its knocked-out name.
Motion and life
- On arrival the question types itself onto the bottom rule at a person's uneven pace (24 to 62 ms a character, longer between words), so it reads as someone asking rather than a stream. Then a one-pixel line sweeps down the whole page in 1.4 s, and every name it passes takes its new weight: the mind is shown reading. When the sweep ends, the mind's sentence appears inside the paragraph after the fork, note 01 fades in after the roster, and the mind lays the scrap of the name it wrote down.
- The scrap is a strip torn from the ETS26 programme: the tear runs through the top of the photograph and leaves a rim of white paper fibre, the printed caption sits on the paper beneath it (name, organisation, "ETS26 portrait · sample data"), and the strip is torn again under the caption. Both sides are straight cuts. On a desktop it lands in the empty crook of the F, under its bar and beside its stem, directly above the knocked-out name, at -1.6°. It hides no word. When a visitor taps a name, the scrap hangs from that name, below or above it, sliding a line at a time until it covers no sentence of the lead and no other chosen name. On the phone it lands on the roster just below the fold, for the same reason.
- Tapping again, tapping anywhere else, or Escape closes it. Hover widens a name on the width axis; the weight axis is never the animated one.
- The running heads stick; the caret blinks only while the line has focus.
- "motion on" in the state line is the designed control. prefers-reduced-motion and the toggle both skip the replay and show the finished state, which is also what the page shows with JavaScript off: the asked state, the mind's sentence and note 01 are baked into the HTML.
- No WebGL, no library, no scroll library: HTML, CSS and one script.
The fork and the mind
- The fork is a sentence in the paragraph: "Read on, or ask the line at the foot of the screen and this paragraph re-weights itself." "Read on" is an underlined verb that continues the page in order. "ask the line" is knocked out in the mind's block and focuses the composer. The two doors weigh differently on the pixels as well as in the prose.
- The standard route is the page read top to bottom: facts, people, tickets, days, place. The assistant lives in the chrome as a line to write on, with no box, no send button and no avatar.
- An answer is a change in the material first, a sentence second and a section third. The sweep re-weights every name on the page, in the roster and in the agenda. The mind writes one sentence into the paragraph right after the fork, saying what it did and where the answer is. Then a numbered note appears in the thread with the question as its heading, the mind's 45-word sentence, the matched sessions in the page's own type with the times in mono, and a mono footnote naming the source and the match (agenda snapshot 2026-10-13, the load-growth track, 4 of 50 sessions, 14 of 77 names). Older notes stay as sections you can re-read; "clear" or "read everything at full weight" returns every name to bold and takes the mind's sentence out of the paragraph.
- The mockup's mind is live. Typing "who speaks tuesday", "what does a pass cost" or "where is it" and pressing Enter runs a small keyword-and-day matcher over the baked index, rewrites the mind's sentence in the paragraph ("You asked the line who speaks tuesday; twenty-eight names now stand in white, Nancy Bui-Thompson of SMUD among them, and note 02 has their twelve sessions."), writes note 02, 03 and runs the same sweep.
What to build next
- Real retrieval behind the line. The matcher is keyword and track scoring over a baked JSON; the product needs the mind reading session descriptions and bios, with the same contract: a set of names to re-weight, one sentence for the paragraph, a 45-word sentence for the note, a footnote.
- Line-level justification on the width axis: after layout, a line that justification would stretch past 0.6 em takes a slightly wider wdth instead, the variable-font version of a compositor's glyph scaling. The few remaining wide lines beside the initials would close up.
- The ETS27 lineup as it is confirmed, replacing the ETS26 stand-ins. The roster paragraph is generated from the same JSON, so the text grows with the data.
- Sponsors as a sentence in the same voice ("Paid for, in part, by …"), never a logo wall; a sentence per hotel once the venue is known.
- A same-document view transition when a note is written, so the question flies from the bottom rule into the thread.
- A print stylesheet: this page is a poster already.
- Analytics on which questions are asked, feeding "also asked here" with real ones, under the consent sentence in the colophon.
Risks
- A wall of text with no first second. The giant F, the facts as the first sentence, the door block, the mind's sentence, the white blocks and the scrap in the crook of the F keep the first frame from being a wall; remove any of them and it is.
- Anorak with the names swapped. The question on the rule, the re-weighting, the mind writing into the paragraph, the chapter initials and the running heads are the difference, and they are visible without scrolling. The phone no longer borrows Anorak's two-by-two nav table.
- Readability at 44 px light on black, on a hotel-wifi phone: the phone drops to 30 px and sets ragged; wght 260 is the floor, no thinner.
- Justification artefacts. A chosen name cannot break, so a line before a long block can still open to about 1.5 em beside an initial. That texture is deliberate on the desktop and absent on the phone. Hyphenation never splits a name, a hard hyphen never ends a line, and punctuation never starts one.
- The scrap covering words: it lands where it hides nothing on arrival, and when tapped it closes on any tap.
Fixes after the round-one jury (2026-10-15)
The version the jurors scored is kept in v1/ (page, concept, shots, judging). This version applies their fixes where they sharpen the idea:
- The scrap moved off the thesis into the crook of the F, above its own name. It became a credible programme scrap (torn through the photo with a fibre rim, printed caption on the paper, straight sides) instead of a uniform zigzag mask. The caption no longer sits on a text line.
- The answer is now in view where the question is: the mind writes its sentence into the paragraph after the fork. The full note stays in the thread, so the paragraph stays one paragraph.
- Rivers beside the F are fixed: the text starts 51 px closer to the F, so "Free your mind." locks up, with hyphenation,
text-wrap: prettyand slightly tighter word spacing. The widest word gap beside the F fell from 0.95 em to 0.52 em. - White blocks are now unbreakable, never stretched inside, and keep a hairline gap when stacked. They are dropped inside answers, where every name is chosen.
- The tempo changes in the page's own grammar: a hairline initial opens each day, and the mind's note column narrows.
- The question heading is set at 44 px, so the colophon's "one size" is true. Mono is kept to numerals only.
- The phone sets ragged at 30 px, keeps names whole, puts the nav in the top edge and shrinks the bottom chrome from about 230 px to 70 px, with a knocked-out name inside the first 844 px. The page is 14,055 px tall instead of 16,387.
- The fork is unequal on the pixels: "ask the line" wears the block.
- "ETS27" is in the first sentence in bold. Suggestions read as a sentence. Consent is a sentence in the colophon. The arrival typing has a person's rhythm. The page fades under the composer. "e-bike", "e-scooter", "re-weights", Landis+Gyr and Doer/Maker never break at their own hyphen or slash. "Cody O'Neil" is corrected from the source's "ONeil", which the fixture itself marks as a probable typo.
Known gaps
- Kept on purpose: Mozilla Headline (one juror reads it as Mozilla's house look; it is this seed's face, chosen for its width axis, and no other concept uses it). The torn edge (one juror asked for a straight crop; the concept and the seed are a torn reveal, so the tear was made real instead of removed). The block caret and the bottom-edge composer (terminal and chat-bar lineage noted by the jurors; the block is the mind's mark across the page and the composer is a line with no box, so they stay, softened by the suggestions becoming a sentence).
- Not done: collapsing the roster to the chosen names while a question is live, because the mind's promise is that nobody is removed. Prices at poster scale as a full-bleed breath screen, because it would add a fourth size and the day initials give the tempo. A visible scrap on the first phone screen, because the whole first phone screen is the lead, which it may not cover; it lands one scroll down.
- Remaining texture: a few desktop lines beside the M or next to an unhyphenatable surname open to 1.3 to 1.5 em. The width-axis justification under "What to build next" is the proper cure.
concept.htmlbeside this file is generated byconcepts/tools/gallery.pyand still shows the previous text until the coordinator regenerates the gallery.