Engineering, in public
How this site is built.
A static site rendered from content in git, guarded before every build, publishing proof and copy from the company's own operating system through pull requests, and measured against budgets it publishes here. For a firm selling engineering judgment, showing our own numbers is the portfolio piece.
Numbers from the last build · September 3, 2026
Hover or focus a component to see what it is and what it talks to. Arrow keys move between them.
Content in git renders to static HTML at build; guards run before the build; the OS publishes proof and copy through pull requests; a small beacon carries analytics server-side; the Company OS reads the same database.
Components:
- Content in git (MDX, JSON, TS): 52 posts, 74 sub-services, 33 industries, 83 locations, 8 capabilities — every word version-controlled.
- Company OS (publishes via PR): Testimonials, proof metrics and site copy leave the OS as pull requests, so publication has a git trail.
- Prebuild guards (6 scripts): Landmarks, contrast, content minimums, similarity, links, payload ratchet. A failing guard fails the build.
- Next.js build (static HTML): Every route prerendered; JSON-LD, sitemap lastmod and the visible Reviewed dates all derive from git commit times.
- Edge (immutable assets): Static HTML and hashed assets; the nav tree and the US dot map are cached once, not inlined per page.
- /api/track (beacon → PostHog): A ~1 KB beacon forwarded server-side replaced a 272 KB analytics library.
- Visitor: Gets HTML that works with JS off, under reduced motion, in print, and in the dark.
Connections:
- Content in git to Prebuild guards over handoff
- Company OS to Content in git over webhook
- Prebuild guards to Next.js build over handoff
- Next.js build to Edge over handoff
- Edge to Visitor over REST
- Visitor to /api/track over REST
Payload, last build
- Routes prerendered
- 294
- Average HTML
- 152 KB
- Heaviest
- 240 KB · /
- Lightest
- 73 KB · /terms
The target is 130 KB per route and 110 KB on the home page. The heaviest pages are the ones that lead with a live system diagram — inline SVG that is serialized twice, once as HTML and once for React — and the ratchet stops any route growing more than 3% above its recorded size while the rest come down.
Guards that run before every build
check-landmarks
One <main> per document; no double-branded titles.
check-contrast
WCAG contrast for every documented colour pair, both themes.
validate-services / -industries / -locations
Content minimums per entry; no invented percentages or dollar figures.
check-similarity
Pairwise shingle similarity across 190 programmatic pages; fails above 70%.
check-links
Crawls the built site; fails on any broken internal link.
check-payload
Per-route HTML ratchet against a committed baseline; nothing may grow more than 3%.
The tokens
- willow#1E5BBFthe one accent
- midnight#0B1220gravity
- cloud#F5F7FArhythm
- mist#DCE8F8hairlines
- slate#667085secondary text
- signal#C2703Alive state only
One accent, one warm signal reserved for live state, a dark theme that swaps roles rather than inverting pixels, and a contrast lock in the build that fails below 4.5:1 for text and 3:1 for indicators — in both themes.
Stack
Next.js 15 (App Router, static generation), React 19, Tailwind 4 on brand tokens, MDX content, Postgres via Drizzle shared with the Company OS, PostHog behind a server-side beacon, Sentry. Diagrams are SVG drawn in code — see any case study or the architecture sketch.
Strategy. Software. Systems.
Want your systems built with this much care?
The same discipline goes into the machine vision cell, the gateway on the DIN rail, and the software behind them.