Skip to content

Prototype the page first

The site started as one static index.html in the resume repository — no framework, no build. That made content and design cheap to change, and the Next.js app later only had to reproduce a page that was already agreed.

The resume tells a career that climbs the stack from the bottom: cable and satellite installs, rural mail delivery, school IT fleets, teaching React, product work, then multi-tenant platforms and AI. The page turns that into seven layers, L01 to L07, with a sticky 3D stack that lifts the layer you’re reading.

What changed after the first draft — and why

Section titled “What changed after the first draft — and why”

Iterating on a static page surfaced decisions worth copying:

Change Reason
Removed every email address A public page with an address invites spam. Contact goes through a form and LinkedIn instead.
Removed the city and the local-time clock The owner didn’t want the site to say where they’re based.
Toned down one industry The page leaned hard on one employer’s domain; it now leads with platform engineering.
Replaced a novelty demo with real side projects Chosen from the owner’s own project folders, after checking each project’s own README for facts.
Added an npm section Five published packages, versions read from the npm registry.
Added an icon per career layer Small inline SVGs, animated only while that layer is active.
Removed fade-in-on-scroll The owner disliked it. Kept the scroll-linked stack and counters, which carry meaning.
Added a holiday variant Snow, a string of lights, an evergreen palette.

A static page needs any static server. The quickest:

Terminal window
python3 -m http.server 4173 --bind 127.0.0.1 --directory site

Binding to 127.0.0.1 keeps it off your network.