T://bendet

T://bendet

protocol : T://bendet

prototypingartifacttransmuting

An entry from the chronicle of built things — its purpose, its materials, and the bargains struck along the way.

The portfolio you are reading. It ships two complete visual identities out of one build — a mad-scientist terminal register and an ink-and-vellum cartographer's register — and swaps between them at runtime, so the easter egg is a second design rather than a theme toggle.

Where the two brands agree, one class list serves both. Where they diverge structurally, the zone forks into per-brand components and both are prerendered, with the losing one hidden by a class on the root element. The switch happens client-side, so rendering only one of them would mean shipping whichever brand the build guessed — and the price of prerendering both is a body-node budget every page is held to.

Static Astro on Cloudflare Pages, Tailwind v4 utilities over a Material 3 role palette that flips with the mode, content in Astro collections behind Zod schemas, and the icon font subsetted at build time to the glyphs the site actually names. No UI framework reaches the browser; the interactive parts are small vanilla scripts.

tech_stackInventory of Materials

  • AstroFramework
  • TypeScriptLanguage
  • Tailwind CSSStyling
  • VitestTests
  • TurborepoTask orchestration
  • pnpmWorkspaces
The About page in the mad-scientist register: a grayscale painted portrait of a bearded man in a lab coat, set beside the heading The Mad Scientist over a near-black navy ground.
SYS_VIEW: the_​about_​page_​madscientist_​registerPlate I. The About page, mad-scientist register.
An Engineering Tradeoffs panel from a project entry, three paragraphs of prose behind a violet left border on a dark card.
SYS_VIEW: a_​project_​entrys_​tradeoffs_​panelPlate II. A project entry's tradeoffs panel.
The Contact page, the words DIRECT ACCESS set huge and glowing above three numbered channels — email, GitHub and LinkedIn.
SYS_VIEW: the_​contact_​pages_​three_​channelsPlate III. The Contact page's three channels.

Engineering Tradeoffs

Prerendering both brands doubles the markup in every forked zone. Hiding the loser rather than rendering one of them is what makes the switch instant and keeps both registers crawlable, and it is paid for in DOM size — hence the per-page node budget, and the rule that hand-written prose never forks.

The document head is deliberately brand-neutral. The brand resolves after paint, so a brand-voiced title or share card would serve every crawler whichever brand lost the coin flip. The site gives up its voice in its own metadata rather than promise half its audience the wrong thing.

Keeping the source closed costs this entry the one thing every other record here offers — a repository to read. The link goes to a sealed page instead. The site is the artifact; the source stays closed while the build stages are still moving.

View liveSource