Colophon
Human-beautiful and agent-legible from the same source. This site is built to my own BiModal Design framework: one interface, two audiences, no second codebase.
Construction
Static site, hand-written HTML and CSS, built with Astro. Design tokens are CSS custom properties. No CSS framework, no CMS, no analytics, no third-party tracking. Client-side JavaScript is limited to the theme toggle and the agent-view toggle below.
Type & color
Inter and JetBrains Mono, self-hosted, no hotlinked fonts. The interface is monochrome: interactivity is carried by tone, weight, and contrast, never hue. Color appears in one place only, the diagrams, where a single phosphor-green accent marks human judgment and the machine stays grey. The mono face does real work, carrying the metadata layer, the scale tags, the kickers, and the figure captions, so it signals the systems thesis instead of decorating.
BiModal Design
The site is built to BiModal Design, my open framework for interfaces that serve human users and AI agents with equal effectiveness, from the same markup rather than two separate builds. Its non-negotiable rule (FR-1) is that everything an agent needs is present in the initial HTTP response. This site is statically rendered, so it is: no content hides behind JavaScript.
The framework's five layers, as they appear here:
- Layer 1 · Semantic structure. Server-rendered HTML5 landmarks, one
h1per page, a skip link, visible focus. - Layer 2 · Structured data. One
Personidentity with a single @id, referenced everywhere viasameAs, with the ORCID record and the ACM DOI as the strongest anchors. Book and article schema where relevant. - Layer 3 · Standards-based attributes. WAI-ARIA roles and states, plus
data-agent-*attributes that name each component, action, and content field for tool-use agents. - Layer 4 · API surface. Not applicable: this is a canonical presence, not an application with endpoints.
- Layer 5 · Agent protocols. A published llms.txt and llms-full.txt, an agent.json card, and a robots policy that explicitly welcomes AI crawlers.
Agent view
Use the Agent view toggle in the header to reveal the machine-readable layer that is already in this page: the landmarks, the data-agent-* structure, the structured data, and the agent surfaces. Nothing is swapped or reloaded. It is the same HTML an agent receives, shown so a human can see it. That is the whole point of BiModal Design: not a human version and an agent version, but one artifact both can read.
Accessibility
Both themes meet WCAG 2.2 AA contrast. A skip-to-content link, visible focus on every interactive element, and reduced-motion honored: motion is reserved for one deliberate moment, never spent on decoration.
Editorial discipline
Maintained under the same editorial discipline as behaviorlayer.ai. Case studies describe confidential work generically, by method and by domain, with no customer names and no internal product names. The work is shown by its decisions and structure, not by product screenshots, because the products are confidential. Any data shown in a visual is recreated, never real.