john mark lowry
§ field notes · jun 2026

how this site was built (and why that is the point)

The same way the production tools get made: context pack, spec, agentic build, validation, deploy. The portfolio demonstrates the methodology it describes.

01 · the context pack

Before a line of code, there was a docs folder: identity and positioning, career history, cognitive profile, a master inventory of every tool I've built, voice rules extracted from my actual writing, a site brief, and a feature spec. Eight markdown files. That pack is the spec for the person — and the ground rule on file one says nothing here is invented. Anything unverified is flagged and held back, which is why a few case studies say “pending clearance” instead of showing screenshots.

02 · the design system

The visual language existed before the site did — a personal design system called Ink & Paper: warm paper, near-black ink, one oxidized-copper accent, Newsreader for the long-form, Inter for the UI, JetBrains Mono for the metadata. Hairlines do the structural work. No gradients, no glass, no shadows except one allowed exception. It was designed against a single test: if a stranger met only the system and then met me a week later, would they feel prepared, or misled?

03 · the build

Claude Code read the pack and the system, then built what you're reading: Next.js with TypeScript and React, content as typed data, the design tokens as plain CSS — no framework fighting the system. Deployed on Railway from a Dockerfile — the personal tier of a two-tier setup: the production work fleet runs on an internal AWS container platform (ECS/EKS Fargate, managed Postgres/Redis/S3, CI/CD by manifest); personal tools and this site ship to Railway. The repo carries its own CLAUDE.md, because the spec-to-agent handoff is the working method, not a demo of one.

A few deliberate details for the people who inspect: the resume is a literal markdown file at /resume.md — curl it, diff it, feed it to your AI. There's an llms.txt for the agents that read sites now. Case studies for tools built through agentic workflows include a “view the spec” toggle, because the spec is the product artifact. And ⌘K works.

Disclosure, per this site's own rules: Google Analytics runs here — page views, nothing exotic.

04 · why it matters

The claim on the homepage is that I spec, architect, and ship production systems through agentic workflows — on top of 14 years of manual code. The cheapest proof was to build the portfolio the same way and let you read the seams. Recursive, on purpose.

The spec is the product. The site is the spec, executed.

the insight
runs onNext.js · TypeScript · React · plain CSS tokens · Docker · Railway · specced via context pack + CLAUDE.md · built with Claude Code

← all writing