A card component, fully assembled
Media, meta, title with the underline-grow hover, excerpt and a footer row.
The classic skin: Inter typography, ink-black 2px borders and the periwinkle
accent, expressed as CSS custom properties in
design-system.css.
The resume and the blog are both built from these parts.
One card, re-inked and re-shaped by whatever the two columns say.
Set — Classic / Periwinkle
How one CSS file and a handful of Razor partials keep the resume and the blog looking like the same site.
Media, meta, title with the underline-grow hover, excerpt and a footer row.
Draft posts render as dimmed, unlinked roadmap cards until their day arrives.
Date, title, category and minutes - the compact sibling of the card.
Rows stack with hairline separators and a whole-row click target.
Turning one site's visual language into components both the resume and the blog compose from.
A drafts-only series: the card is inert until part 1 publishes.
Why partials plus mocked view models beat copy-pasted demo markup for a one-person design system.
A controller-supplied sample model keeps a showcase honest: the demo renders the exact partial production uses.
Breaking a monolithic showcase view into per-section partials that a catalog drives.
Wiring the catalog, the demo model and the section partials together, and what the page costs to render.
Why partials plus mocked view models beat copy-pasted demo markup for a one-person design system.
A controller-supplied sample model keeps a showcase honest: the demo renders the exact partial production uses.
Breaking a monolithic showcase view into per-section partials that a catalog drives.
Wiring the catalog, the demo model and the section partials together, and what the page costs to render.
Already on the schedule — the next articles off the publish ladder, nearest date first.
The nearest-dated scheduled post leads the roadmap strip.
A weekly cadence means the strip usually spans a fortnight.
The strip caps at three; the rest of the ladder stays backstage.
Turning one site's visual language into components both the resume and the blog compose from.