Replace the single Gatsby page with a dark, terminal-style agent that answers
questions about Dennis's work from one curated knowledge base. There is no
model and no network call, so answers cannot be invented. A plain "Classic
view" and an optional light theme sit one click away.
Site
- Terminal UI (React island): typed answers, tool-call lines, slash commands,
autocomplete, history, deep links, a short /oncall game
- Content focused on what recruiters scan for; personal and employer-internal
details are left out
- No profile photo anywhere, including the new link-preview card and icons
- Corrected facts from the old page (dates, titles, tenses, skill tiers)
Tooling
- Migrate Gatsby 5 to Astro 7 (Node 22.23+); builds in about 1 second
- Self-host fonts, so visitors make no request to third parties
- Link-preview card, favicon set, web manifest and a service-worker clean-up
for returning visitors
- Deploy workflow builds with npm ci on Node 22 and uploads dist/
- Track package-lock.json
Quality
- Tests for routing and for markup injection from visitor input
- A content guard scans every reachable answer; the list of things that must
never be published lives in a git-ignored local file
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Replace the HTML5-UP "Strata" theme with a Swiss-minimal single-page
design (plain CSS, Space Grotesk / Hanken Grotesk / Space Mono). Rewrite
copy for current positioning: Staff Data, Analytics & AI Engineer at
Swisscom, open to new work. Experience shown as a pipeline timeline;
contact simplified to email + LinkedIn (drop the broken form).
Prune unused deps (lightbox, FontAwesome, sass/gatsby-plugin-sass) and
the old SCSS, fonts and gallery assets. Fix package.json metadata.
Harden the Gitea deploy: merge build+deploy into one job (removes the
deprecated artifact upload/download handoff), bump Node 18 -> 20, use
npx gatsby build. Rename .nvrmc -> .nvmrc and refresh the README.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>