How this site is made.
The site brings small, useful learning experiments together with an independent research desk. Warm paper, clear controls and a few curious characters welcome exploration. Research pages keep their sources and corrections close to the claims.
The ledger
Four marks for what the engine reports.
| Mark | Meaning |
|---|---|
| Superseded. The old value stays readable, greyed and struck through in ink. | |
| 2 retries | The checked successor. Ink, with a teal double underline and one highlighter stroke drawn when the page loads. |
| ⊘ refused | Stale context. The word is always written out; color is never the only signal. |
UNKNOWN | The evidence does not say. Missing evidence is shown, not hidden. |
Pages keep a left margin for italic shoulder heads, divided from the text by a double rule, as in a ruled account book. As you read, that black rule fills with teal ink down to the middle of your screen. The ink is driven by the scroll position itself with a CSS scroll-driven animation: no JavaScript, no timer, and browsers without support simply keep the plain rule. Selected qualification, evidence and pilot notes use pale paper surfaces and padding. Ordinary sections use spacing; the principal ledger margin, table rules and claim marks stay visible. There are no badges or status dots.
Type
Type for reading, making and inspecting.
IBM Plex Sans for reading and IBM Plex Mono for data, both designed by Mike Abbink with Bold Monday for IBM and released under the SIL Open Font License. Because they are one superfamily, headings, text and data values share the same proportions and details.
Mono appears only where a value is real data: states, code and fixture output. The site loads Sans 400, 500, 600 and italic 400, with Mono 400 for data, served by Google Fonts. The homepage and learning pages also use locally available Georgia or Palatino for headings; the Dog lab uses its own serif and monospace treatment. Tables and code use tabular figures so columns of numbers align; headings are balanced across lines and paragraphs avoid a stranded last word.
Color
How the research pages use color
The research ledger uses black on paper for text, data and methods. Its accent color shows the engine doing something a static document cannot. A correction superseding an old answer, the section a link brought you to, the evidence you are reading toward. The recorded Consumption presentation also uses teal arrow buttons for manual navigation.
The shared emphasis color is --engine: #176552 in the light theme, with a lighter teal in the dark theme. Its tints are mixed from it against the current paper with color-mix(in oklch, …), so light and dark themes stay in one hue family. Browsers without color-mix fall back to fixed values.
- Engine
var(--engine) - Engine, deepened
+ 30% ink - Highlighter
22% engine - Wash
8% engine
These swatches are not images. They are the live values your browser computed for this page, in the theme you are viewing.
The research ledger uses ink, paper and teal. The learning labs and characters use their own small palettes. The ledger states are carried by form rather than hue, so they read the same in black and white. Claim states do not depend on decorative color. Try linking to this section, pressing Tab, or selecting a line of text.
Build
Static pages, measured after every build.
The site is built with Astro as static HTML and served by Cloudflare Workers. A small same-origin script restores an obscured fragment heading after fonts load, unless the reader has interacted. Normal navigation, focus and history remain native. Other small scripts support the interactive lessons and characters. The manual cutaway presentation is a same-origin file under the published 8 KB gzip budget, used by the standalone recorded example. When enabled for this site, Cloudflare can inject Web Analytics from static.cloudflareinsights.com. The content security policy permits that script and automatic reports to the site's own /cdn-cgi/rum endpoint. This permission does not enable analytics or prove that data is being collected. Bot protection is configured separately. Inline executable scripts remain blocked; any incompatibility with injected detection scripts requires a separate security review.
A rare little visitor can appear after a long visit. Its brief movement has a still version for reduced-motion settings. The close button hides surprises for the rest of the tab’s visit. Only its countdown and dismissal choice are kept in that tab’s session storage; this feature sends nothing to a server. Background time does not count.
The line at the foot of every page is written by a small build step, not by hand. After the build finishes it measures each page's HTML, referenced stylesheets and directly linked JavaScript files in the build output, without compression. JavaScript imports are excluded. It also records the build date and commit. Web fonts come from Google Fonts and are not included in that figure.
Pages that link to local evidence files include a “File details on this page” disclosure below the article. Open it to inspect each file's format, size and short SHA-256 identifier. It stays open until you close it and does not cover the text.
Rules
Design and accessibility rules
No invented metrics, hashes or telemetry. Illustrations are labeled synthetic beside the figure. Keep labels readable, controls predictable and decoration secondary to the task. The learning pages use soft cards and small characters; the research record uses simpler ruled sections. The rules are written down in the repository, where every design change, by a person or an AI agent, is meant to start.
Our accessibility target is no serious or critical violations in light or dark mode at desktop and phone widths, with no sideways scrolling on a phone. This is a design target, not a claim that every page, device and assistive technology has been tested.
If something on this site is wrong, write to jon@simoneresearch.com.