Skip to content
Tayakorn

The Lab

Work in progress — not claimed as portfolio yet, but every experiment must report its findings

LAB. 01RunningStarted

Rendering video from an HTML page

What was tried

Built a site-intro video by writing a single HTML page and rendering it to video — layout, colors, type, motion timing, and the sound bed are all synthesized from code, no editing software involved.

What was learned

The site's color tokens and type carried over value-for-value, and code gives finer timing control than hand editing — but the overall visual quality isn't ready to be a primary asset yet. Logged as round one, with the gaps as next round's brief.

LAB. 01 — Silent video from the actual experiment file
LAB. 02RunningStarted

Separating the play zone from the read zone

What was tried

Took apart OpenAI's GPT-6 Astra launch page and found its star field is one layer spanning all 32,783px while only 1,908px is actually draggable — the rest looks identical but cannot be touched, and drifts over the numbers in the benchmark tables. So I built a dot field that declares where it is playable, with a toggle to compare both treatments side by side.

What was learned

Layering worked better than expected — remove the opaque plate and values like 5.8% and 1,908 / 32,783 px immediately become harder to parse. The problem was never 'there is decoration', it is that the playable and unplayable thing share one appearance. What fell short: judged by an audience of one, with no outside test of whether the zone label actually helps; on warm paper the contrast is lower than white-on-black, so the cursor-repel effect reads more faintly than the original; and the play zone sets touch-action to none so it can be dragged, which costs page scrolling for a finger that lands inside it — still unresolved.

Read zone — numbers must stay sharp
PropertyValue
Dots in the field140
Play zone · pointer-eventsauto
Read zone · pointer-eventsnone
Original page: actually draggable area1,908 / 32,783 px
Share of the page5.8%
LAB. 02 — One dot field, two zones — toggle to see how much harder the numbers get to read once dots sit on them
LAB. 03RunningStarted

The chapter globe — ten forms before the final one

What was tried

Grew LAB.02 into a field that carries real data (one dot = one of 228 chapters across 18 books) and searched for its form by mocking, playing, and deciding round by round — from a plain dotted sphere, through a globe whose ladder rungs are inner shells revealed by a cutaway wedge, to the form that was finally chosen.

What was learned

The most 'creative' form (chapters strung into drill strings) lost to the most legible one · soft glowing dots that look good on black vanish on warm paper — on paper, brightness means saturated ink with a crisp edge, not blur · a cutaway fixed to the viewer feels 'locked'; it had to travel with the globe to read as an object · what fell short: every round was judged by an audience of one — this entry records the search for the form; the thing itself is the next entry.

  1. A sphere of hollow ladder-colored rings on warm paper with a figures table below
    ROUND 01Dropped

    Plain dotted sphere — dots were only dots, no story

  2. Dots arranged in one column per book, layered by rung, short book names below
    ROUND 02Kept

    Wide strata — moved to become the /handbooks navigator

  3. A globe with a flat quarter-circle cutaway parallel to the screen
    ROUND 03Dropped

    First drill-core wedge, screen-aligned — two faces collapsed to lines, flat 2D

  4. A globe with a huge tilted octant removed, cut faces covering half the disc (re-created from the final build)
    ROUND 04Dropped

    Tilted octant — cut faces ate half the globe, most dots vanished · re-created frame, the original was overwritten

  5. A globe with a full-height cake slice removed, one wall seen face-on
    ROUND 05Dropped

    Full-height cake slice — one wall face-on, the other a line

  6. A globe with a 60-degree lower-hemisphere wedge showing gold-to-red rings
    ROUND 06Kept

    Lower 60° wedge — the right shape, but fixed to the viewer: a window, not an object

  7. A boxless globe on graph paper with a dashed rim, its wedge attached to the globe
    ROUND 07Kept

    Wedge attached, box removed, 2×2 figures — a real object that turns with the hand

  8. A globe where chapters are strung into 18 helical strands from crust to core
    ROUND 08Dropped

    Drill strings — 'worse than before': dots bunched into strands, unreadable

  9. A globe whose dots are soft blurred warm glows on paper
    ROUND 09Dropped

    Bokeh glow dots — pretty on dark, invisible on paper

  10. A globe whose dots are crisp ink discs in ladder colors, pale when unread and full when read
    ROUND 10Kept

    Crisp ink dots — the site's chart language, every dot legible · the chosen form

LAB. 03 — Each frame is labelled kept or dropped · the reason sits underneath it

Open the final mock, playable (snapshot 5 Sep 2026)

LAB. 04RunningStarted

The chapter globe, built — round one on the real surfaces

What was tried

Built the form chosen in LAB.03 and wired it into two real surfaces: the home hero became a cutaway globe (one dot = one of 228 chapters across 18 books, colour = rung, size = chapter length, full ink = read, click a book and the figures panel becomes that book's core sample), and /handbooks became every book's core sample laid side by side above the existing list. The data is counted at build time, not typed in. The real thing is playable in this entry, both forms behind one switch, reading progress from the reader's own device.

What was learned

None of the four costliest bugs were caught by a test — every one surfaced only when the screenshots were opened and read: the rung axis on /handbooks ran upside down against the caption printed beside it (the original mock had it wrong and the port copied the mistake faithfully); the field radius disagreed with the rule written in its own comment, so the top row of dots was clipped; the English tag overflowed its slot into a two-line block (Thai fit on one line, so nobody saw it); and the tag collided with the hint at 390px. The lesson: automated gates confirm 'not broken', never 'correct' — and when a document and the code disagree, the document wins if it is the promise already shown to the reader. What fell short: still an audience of one; no way to verify by machine whether a swipe across the globe scrolls the page at the right moment (scripts can only check touch-action and taps); and above all, in daily use the owner still prefers LAB.02's plain dot field to a globe with structure inside it — the form is not settled, and this entry is the record of round one before the rebuild.

Form

Running totals · recounted on every site update

Handbooks
18books
Chapters finished
228ch.
Diagrams drawn by hand
145figs
Projects on the registry
15items
Read (this device)
ch.
LAB. 04 — The real component from the main surfaces, fed the same dataset: 18 books, 228 chapters · dot = a real chapter (bigger = longer) · colour = rung L0→L4 · full colour = read on this device · globe: click a book = drill · strata: click a dot = open the chapter
  1. A globe on graph paper inside a dashed rim, its cutaway showing five gold-to-red shells with ladder-coloured dots throughout
    ROUND 01Kept

    The home hero — every dot a real chapter, all pale because none are read yet

  2. The figures panel replaced by the Git handbook's core sample: nine full cells then six pale ones, with a line reading reached L2, chapter 9 of 15
    ROUND 02Kept

    Click a book and the totals become that book's core sample — how deep you got, shown where the numbers were

  3. Every book's dots stacked as layers, rung L0 on top and L4 at the bottom, with rung filter chips above the field
    ROUND 03Kept

    /handbooks — every core sample side by side, L0 on top and L4 at the bottom, as the caption promises

  4. The same globe in dark mode, ladder-coloured dots still separable from the ink ground, the graph paper faded back
    ROUND 04Kept

    Dark mode — dots still do not sink into the ink, the thing most feared when moving off the light ground

LAB. 04 — Each frame is labelled kept or dropped · the reason sits underneath it