Personal site for Matt Speck — AI engineer, Seattle. Served by GitHub Pages from
mjspeck/mjspeck.github.io at www.mattspeck.com.
Static, no build step. Three files do the work:
index.html all content and markup
css/site.css all styles
img/headshot.jpg
Fonts (Newsreader, IBM Plex Mono) load from Google Fonts. Everything else is local.
Open index.html directly, or serve the folder to get root-relative paths right:
python3 -m http.server 8000Content lives in index.html as plain semantic HTML — edit it in place. Two conventions
are worth knowing:
- Experience entries carry a
--yrscustom property (<article class="role" style="--yrs:5.75">). It sets a minimum height so an entry's vertical space on the page tracks how long the role actually lasted. Update it when you add or extend a role. .risemarks an element for the scroll-reveal. It's a no-op underprefers-reduced-motion, and elements without it are simply always visible.
Design tokens (color, type, spacing rhythm) are the :root custom properties at the top of
css/site.css.
Push to main. GitHub Pages publishes from the branch root; CNAME holds the custom domain.