Archive / WEB / CONTENT
PortfolioEvolution
OngoingAn evolving content-first portfolio built around shared project records, static pages and targeted interaction.
This portfolio has moved from duplicated HTML pages to a shared content model. The aim is to make the engineering record easier to maintain without turning the whole site into a client-side application.
Content and page generation
Astro generates static HTML from Markdown project records. A schema checks the content, while reusable layouts handle metadata, project pages, galleries and navigation. Project groups and order drive the listings rather than separate hardcoded copies.
The case studies arrive as readable HTML. They do not need Svelte to display their content.
Targeted interaction
A selectively hydrated Svelte component handles the Geo wordmark. Its geometry comes from the font as SVG paths, with a single reveal across the name. Native scroll-linked animation is used where supported, with a frame-by-frame fallback and reduced-motion handling.
Small separate scripts handle navigation, theme preferences and the contact copy action. The WaveRadar calculator loads its calculation code and MathJax on its own route rather than across the whole portfolio.
Images and maintenance
Astro generates responsive WebP images from local assets. Shared aspect-ratio containers keep galleries consistent, and below-the-fold images are lazy-loaded. Project pages without imagery remain readable without blank image placeholders.
This architecture suits a portfolio because the content can change independently of the page structure. It favours static delivery and limited client-side work; these are design choices, not a claim of measured load-time scores.