A custom portfolio template built for my work in applied AI, human–computer interaction, and information visualization. Designed and implemented with Astro and TypeScript, with editable Markdown and JSON content.
- Projects, publications, experience, writing, and a printable CV.
- Responsive layouts, light and dark themes, and a pixel-art scroll companion with reduced-motion support.
- Local draft previews and optional browser editing through Pages CMS.
- Static output, locally hosted fonts and images, and automated content and interaction checks.
Use Node.js 22.12 or newer (Node 24 is used for deployment).
npm ci
npm run devOpen http://127.0.0.1:4324/. To validate and preview the production build:
npm run validate
npm run previewProduction preview runs at http://127.0.0.1:4325/.
The maintenance guide covers everyday editing, adding content, previewing, and publishing. Optional setup and technical details live in the technical reference.
Content lives in src/content/ and src/data/; uploaded media lives in public/assets/uploads/. Hosting publishes the generated dist/ directory.
Built with Astro, Schibsted Grotesk, and Pixelarticons. Artwork sources and third-party notices are recorded in the technical reference.