The loom
The site is a loom: the 77 speakers are the warp, 77 black hairline threads hanging from the top beam in the order they take the stage; everything the summit says is a weft woven across them, and an answer from the mind is a band woven across exactly the threads it involves.
The story
The owner's seed was a mind in free space. The research said the two ancestors of "Free Your Mind" are bodies on a flat field, not heads in clouds, and that intelligence reads from what it does to a material, never from a face. The loom takes both literally. The ground is the flat sky blue of the 1970 Funkadelic cover, the phrase's own original field, and nothing is ever placed over it except hairlines, flat rectangles, type in one face, and real photographs of real people.
The first second is the warp: 77 named threads under the beam (the facts rail), with "Free Your Mind" woven through them in cream, every other thread crossing over the letters so the words are visibly cloth rather than a headline. Under the words the fork is two verbs on one line, "Read the cloth in order" at the left and "or weave a question on the rule below" at the right. Below that, already woven, is the first answer: a band in the orange of the AI track, with the people it involves hanging from their own threads like loom weights, the uninvolved threads passing under the band and out of sight. At the foot of the first screen is the fell, the line where the next weft goes in: the composer, as a rule with the verb "weave" printed beside it.
The warp is in running order, so a day is a contiguous block of the cloth. Ask "who speaks Tuesday" and the band's visible threads are one block; ask about a subject and they scatter across the width. The shape of the band is the answer before a word is read. The day bands show the same thing without a question: each one carries only that day's threads, and its numeral hangs where the day's block begins, so the four numerals walk across the width like a shuttle.
Typography
One family, Recursive (Google Fonts, variable: MONO, CASL, CRSV, slnt, wght), performing its voices on its axes, so the font is the entire feedback system and there is no second face anywhere:
- Woven, the theme (display): MONO 0, CASL 1, wght 1000, CRSV 1, 188 px at 1440 (
clamp(84px, 13vw, 188px)), line-height 0.86. Used for "Free Your Mind" only: the casual bounce belongs to the Funkadelic phrase. - Woven, the facts (display): the same size and weight on the linear axis, MONO 0, CASL 0, wght 1000. Used once per band as its weft word: 77, 3, 4, 5, 6, $320.89, Austin. A price and a city are facts, so they lose the bounce (a juror read $320.89 in the casual cut as a price-tag flyer). Cream on the sky; sky-blue knockout on cream bands, so the numerals are windows back onto the warp.
- Spoken (the mind): MONO 0, CASL 0.6, wght 440, slnt −5, CRSV 1, 16 px, line-height 1.4. The say lines, the day summaries, the theme sentence, and the two verbs of the fork.
- Typed (machine): MONO 1, CASL 0, wght 480 to 900, 11 px with 0.06 em tracking for labels, the facts rail, the names along the threads, times, footnotes and the state line; the question headings at 16 px wght 900.
- Reading (linear sans): MONO 0, CASL 0, wght 640 (880 for keynotes), 16 px, for session titles.
Three sizes only: 188 / 16 / 11, a ratio of 17:1 between display and label. The composer performs the axis live: what is typed sits at MONO 1 and slides to MONO 0 / CASL 0.6 as the band weaves.
Colour world
- Sky
#4FA3D8: the ground, flat, 100 % of the page, never a gradient. - Ink
#0B0B0C: threads, text on the sky and on every band. - Cream
#F5EDDC: the woven words on the sky, the structural bands (theme, days, tickets) and mixed-track answers. - Three track hues matched in lightness, now at lower chroma so the wefts read as dyed thread rather than highlighter (OKLCH L 0.82, C 0.09; it was C 0.12): minds
#EABA83(AI, data and digital; people and workforce), grid#9AD5A6(grid edge, load growth and storage, resilience and security), market#F1ACCC(customers and affordability; policy and markets). They appear only where hue means track: the fill of a single-track answer band, the weft bar of each session, the swatches of each day's track key, and the stripe under the "asked here today" card. C 0.07, which one juror proposed, turned the first band tan and took the surprise out of the first frame, so the drop stops at 0.09. - Colour photographs, uncropped and unfiltered, as the only other colour.
Layout grammar
- The warp: 77 vertical 1 px threads from x = 36 px to the right margin, pitch (viewport − 72) / 76, running the full height of the document so the page scrolls through them. Every element is placed by thread index (
--t), not by column. - The beam: a fixed 40 px rail at the top edge carrying ETS27, Free Your Mind, Austin, Texas, May 3–6, 2027, four anchors (Theme, Lineup, Agenda, Place), one "Tickets →" and the live Austin time. Nothing is centre-stacked.
- The fringe: each name set vertically beside its thread, 11 px, reading down from the beam.
- Weft words: display type woven with alternating threads over the letters. On the ground sections the weft word stands at the left and its text sits beside it (77 with the lineup note, Austin with the place note), never a caption over a numeral.
- Bands: full-bleed flat rectangles. A structural band shows plain weave (odd or even threads over it). An answer band shows only the threads it involves; the rest pass under. A day band shows only that day's threads. Text inside bands sits in floats (rectangles of the band's own colour) so hairlines never cross small type.
- Beads: 40 × 50 px portraits hanging on their threads, staggered into at most three rows by local collision: a bead drops a row only when the bead before it in that row is fewer than three threads away (53 px at 1440, wider than a bead), so neighbours never touch. A speaker without a portrait is a knot: the thread itself thickened to 3 px from selvedge to selvedge, the full height of the band, never a short bar. Every knot is the same length, so the weights cannot read as a bar chart.
- Answer bands: the question in the typed voice, the say line in the spoken voice, the beads, then the names and the sessions set in two columns, then the source as a footnote.
- Days: each day band holds the day's block of threads; the numeral hangs from the day's first new thread (Monday at the left selvedge, Tuesday a third of the way across, Wednesday past the middle, Thursday near the right), and the label, the summary and a three-swatch track key sit in the plain cloth beside the block. Clicking a swatch dims the other wefts of that day in place.
- Sessions: each is a grid row (time · title and names · type and track) over a weft bar across the full width in its track hue (6 px, 10 px for keynotes and ceremonies), with the warp ticking over it at the speakers' threads; breaks and meals are dashed cream wefts with no one on them.
- Tickets: $320.89 as the weft word at the left, the label, both audiences, both phases and the Eventbrite link in a column beside it, so nothing overprints the numeral.
- The fell: a 56 px strip holding the composer rule, the three suggestion verbs along it in small caps, and the "asked here today" card at the right with the stripe of the track it weaves. It rests in the flow at the foot of the first screen, directly under the latest answer band, and from the first scroll travels fixed at the foot of every screen. A consent notice docks inside the fell's own row instead of covering it (
?consentshows that state), which passes the lens-03 survival test. - Phone (390): the loom turns on its side. "Free / Your / Mind" is woven at the top left of the first screen with the first 20 names on horizontal threads beside it (the threads pass under the letters, never through them), the fork sits below as two lines, and answer band 01 starts inside the first screen. Beads are a flow row of 40 × 50 portraits with 3 px knots. The lineup is a run of names, each with its portrait or knot. Every day band keeps its numeral at 84 px, its label, summary and track key; every session keeps its weft stripe.
Motion and life
Timing, not movement. On load the warp drops from the beam (900 ms), the names rise in running order (7 ms stagger), the words weave in left to right (1 s), the first band weaves in and its beads drop (2.2 s onward); everything rests by 3.2 s, and at 3.7 s every entry animation is released so the resting cloth is plain paint. The cloth already lies woven; a band reached by scrolling weaves in once as it enters, and its session wefts draw left to right like a shuttle; nothing loops. Hovering a name pulls its thread: the thread thickens from the beam through every band down the whole page, the name inverts, its portrait is outlined with a caption, and its session rows and bead light up wherever they are. Pressing Enter slides the typed glyphs from MONO 1 to CASL 0.6 (the only "thinking" state) and a numbered band weaves in at the fell. The clock in the rail is true to the minute in Austin. Reduced motion gets every end state.
The fork and the mind
The fork is a pair of verbs on the page, not two cards: "Read the cloth in order ↓" at the left under the woven words and "or weave a question on the rule below ↓" at the right, in the spoken voice on sky floats so the threads pass under them. Reading means scrolling through the theme, the lineup (the bare warp with its weights), the four days, tickets and place, each band a different tempo. Weaving means the composer: a hairline rule with no box, no pill and no send button, with the placeholder written as a real question ("which sessions are about storage?") and three suggestion verbs set along it (who speaks tuesday, what does a pass cost, where is it). The mind is never drawn. It manifests as a change in the material: a band woven across the threads it involves, numbered (01, 02…), with the question kept as the heading in sentence case, a say line in the spoken voice, the components in the page's own grid (beads on threads, the names in running order, the sessions as a label line) and the source as a footnote in the typed voice. Older answers stay as bands you can re-read, so the thread of questions reads as a table of contents. The omnipresent assistant on the standard route is the fell itself, plus the "asked here today" card, which weaves a moderated question (which sessions are about customers) in the market hue its stripe promises. The mockup composes real bands from the sample data for days, tracks, keynotes, price, place and dates.
What to build next
- Real composer: the fell posts to the mind, the say line streams into the band while the glyphs slide along the MONO axis, and the band's over-threads are set from the records the mind cites.
- View transition from the fell: a woven band should fly into the thread of answers as a camera move, and the rail should carry the band's number while it is on screen.
- Lineup at 147: the pitch halves on a 1440 screen; names move to a hover state and the fringe becomes a texture, as the seed intended. Tested here at 1024, 1280, 1440 and 1920.
- Self-host Recursive subset by axis (two files) and the portraits; the mockup hotlinks the ETS26 app CDN.
- Session detail: tapping a weft bar opens its band (description, room, speakers' beads) in place.
- Keyboard and screen-reader pass for the fringe and the beads; the vertical names need an accessible list.
- The day-band track key filters one day; a page-wide version (one swatch dims every other weft on the page) is the next step for the long agenda.
Decided in the fix pass (2026-10-15)
- Kept every weft selvedge to selvedge. A juror asked for weft bars placed and sized by session time on a 08:00–21:00 scale; that is a Gantt chart, the "threads become a chart" risk the seed names, so the agenda gets its tempo from the walking day bands and the track key instead.
- Kept three sizes. A middle size (28–44 px) for the question and the day summaries would break the three-size rule every concept keeps; the question gained weight (wght 900) instead.
- Kept the names in each session row rather than hiding panels of four or more behind hover: the names are the labels of the ticks on the weft, and a phone has no hover.
- Kept the empty left of answer band 01. Monday has one AI session, so the left block of the warp is nearly bare; that absence is the answer's shape.
Risks
- Line chart: the risk line said threads become a chart. Guarded by keeping every weft selvedge to selvedge with the warp ticking over it and every knot the full height of its band; there are no axes, no plotted values, no short bars at varying positions.
- Tapestry costume: no textures, no ikat, no fringe illustration; hairlines, flat rectangles, one face and real photographs only. Hue-by-track is three values matched in lightness and appears only where hue means track.
- Density: 77 vertical names and 50 session rows are a lot of reading; the fringe is a texture by design and every fact a visitor needs is also in the rail, a band head or a weft word.
- Contrast: cream on the sky is reserved for 188 px type; all small type is ink on sky or ink on a band.
- Photo supply: 19 of 77 speakers have no usable portrait and show as knots; a real ETS27 lineup must ship with portraits or the warp reads as uneven.
- Long page: about 6,700 px on desktop and 10,800 px on the phone; acceptable for an event agenda, with the day bands as the breath screens and the track key as the in-place filter.