Overview
A complete rebuild of scootr.ca — this site — replacing a WordPress install on DreamHost with a modern, git-backed stack. Every page is static HTML by default, with a single deliberate exception: the About page renders on-demand on Vercel so its GitHub, Last.fm, and Steam activity cards stay live. Assisted by Claude Code, reviewed and polished by me.
What changed
- Off WordPress, onto Astro. Years of old posts — going all the way back to 2000 — were migrated out of a WordPress/b2 database dump into a git-based Markdoc archive under The Lab.
- Off DreamHost, onto Vercel. The old SSH + rsync deploy pipeline is gone. Now it's push-to-deploy:
mainbuilds to production, every other branch gets its own preview URL automatically. - A real design system. A dark, brand-anchored theme built on Tailwind CSS v4 and DaisyUI, with a custom shattered-cube mark that shows up everywhere from the favicon to a slowly rotating 3D logo on the homepage, built with Three.js.
- Content without a database. Keystatic runs entirely locally as a git-backed CMS — every edit is just a commit, with zero server-side moving parts in production.
- Live activity, statically served. The About page pulls recent GitHub commits, Last.fm scrobbles, and Steam activity into one feed, the one page on the whole site that's rendered per-request instead of at build time.
From WordPress...


Stack
| Layer | Technology |
|---|---|
| Framework | Astro 6 |
| Styling | Tailwind CSS v4 + DaisyUI v5 |
| CMS | Keystatic (GitHub storage mode) |
| Icons | astro-icon + Iconify (Lucide, Simple Icons) |
| 3D | Three.js |
| Deploy | Vercel (GitHub integration) |
| CI | GitHub Actions — lint + build gate on every PR |
Status
The rebuild is complete and the site is live. Ongoing maintenance from here on is mostly content: new Lab posts, project updates, and the occasional design refinement.