Hunter Karman

FLÂNEUR (2026)

(one-line briefs compiled into verified static sites)
Doc. ref: HK-FLANEUR-2026
Category
Tools & Infrastructure
Medium
Node, Playwright, Vite and TypeScript, fal.ai, Claude Code subagents
Venue
private repository
State
ongoing
Tags
agents, generation, verification, web
Hero views of the twelve brief-built sites in a four-by-three grid, each with its own layout and typeface, from a serif registry page to a dark trading terminal to a bold storefront.

A procedure for turning a brand brief into a working single-page site, and the shared scripts that run it. The same procedure runs by hand or fanned out across parallel subagents. The name is Walter Benjamin’s flâneur, who reads the arcades by looking at them; the last stage of the procedure is a person doing the same to what was built.

A brief and a shared build contract lead to a proposed direction and one decision about whether an identity must repeat across images. Assets are generated at seed time behind a content-addressed cache into a manifest on disk. The page reads the manifest. A declarative checklist runs at desktop and phone sizes, and a person opens every screenshot. Failures at either gate return to the build; approval leads to a dated record.
Brief to record. Both gates return to the build; the page never calls the generator.

Each site starts as a short brief: name, audience, catalogue, copy voice, the one interaction the page exists to show, and the data-* hooks its own checks will look for. Under every brief sits one shared build contract covering file locations, stack rules, fonts, the spend budget and the lessons of earlier sites. Between the brief and the contract a subagent can start cold and finish without a round trip. The first real step is a proposed visual direction, a ground, a typeface, one accent and a motion rule, with a reason it fits and room to override.

The one decision made before any money is spent is whether a face, a mark or a character has to stay identical across images. If it does, the canonical image is generated once and every other image is an edit from it, an image-to-image call at about $0.08 each that kept one mascot’s face identical across nine images. If it does not, each image is generated independently with a shared style suffix appended to its prompt, at about $0.003 each.

Generation happens at seed time through one script, never from the page. Before a fan-out the script generates one image and it is looked at. Each request then hashes its model, seed, prompt, reference-file hash and parameters into a key recorded in a manifest beside the file it produced, so a rerun with nothing changed skips every entry and spends nothing, and an interrupted run resumes from the files already on disk. Four job kinds share the cache: text-to-image, edit from a reference, an LLM completion for seed-time corpora and copy, and any model that returns a file, such as a 131,000-gaussian splat from an image. The script is not wired into the dev server, so starting it cannot spend credits. The page is plain Vite and TypeScript that reads the manifest for paths and has no runtime dependency on the generation service. A domain library is added only when the concept needs one.

Each site declares its own verify.json: required selectors, whether every image loaded, whether the font applied, horizontal overflow, a clean console, and a sequence of steps that clicks and fills its way through the page’s real interaction. One shared Playwright runner serves the production build, runs the whole checklist at 1440 by 900 and at 390 by 844, screenshots each step and exits non-zero on any failure. A passing run is not treated as a correct page. The last stage is a person opening every screenshot, which covers what a DOM check does not see: the orientation of a 3D asset, a panel photographed mid-transition, empty space beside a short grid item. Only then does the site get a dated README and design doc and a row in the pipeline’s map. If its look is reusable it also gets a register, a markdown specification of palette, type, layout, copy voice and image style precise enough that a later brief can opt into it by name.

The batch that exercised it was ten speculative sites for an invented internet of 2031, built in one day in waves of four or five subagents, with the hardest build, a Gaussian-splat viewer, given to a separate long session. The orchestrator never builds a site. It dispatches each worker on a cheaper model chosen explicitly, reviews the reports for cost, checks passed and what is real, and commits explicit paths per site. Across the ten, 314 of 314 automated checks passed. Counting the two proof sites that came first, twelve of the fourteen sites so far came from briefs; the other two are a port of a design handoff and a hybrid catalogue site. Each site built from a brief has come in under a dollar, most under five cents, and none is deployed publicly.

Wherever a canonical browser implementation exists the sites use it, and anything else is labelled as staged on the page itself. Provenance verification runs the C2PA browser SDK in wasm against signed test files. A memory vault encrypts with WebCrypto, PBKDF2 and AES-GCM, into IndexedDB. A proof-of-pulse gate performs a real WebAuthn registration with the attestation decoded by hand. A structure viewer shows a real fluorescent-protein sequence diff against PDB 1EMA through 3Dmol. A reality arbiter runs a sequential Bayesian filter with Beta credibility intervals. Registration numbers are SHA-256, fee schedules are live arithmetic, and a globe routes workloads between real node coordinates. The feeds, prices, counts and charters around them are staged.

Last updated: 2026.10.11 22:33:12 UTChunter@hnsk.site