It feels like half the web today is bogged down by megabytes of JavaScript, layout shifts, popups, and heavy frameworks just to render a page of text and a few images. When rebuilding my portfolio site, I wanted the exact opposite: instant load times, zero unnecessary JavaScript sent to the client, and code that’s effortless to maintain.
That’s why I chose Astro 5 to generate purely static HTML and CSS.
Why I Chose Static HTML & Astro
- Static Site Generation (SSG): Pages are compiled at build time into static files served straight from the edge. No database calls, no server-side rendering latency.
- Zero JS by default: Astro doesn’t ship any JavaScript to the browser unless you explicitly add an interactive component (like a modal or theme toggle). That means lightning-fast page loads on any connection.
- Vanilla CSS & Tokens: Instead of adding a heavy CSS framework, I built a custom design system with standard CSS variables for dark/light themes and fluid typography.
- No tracking or bloat: No third-party tracking scripts, external font calls, or heavy analytics libraries slowing things down.
# Clean build verification
npm run build
# The entire site builds in under 3 seconds with zero client-side framework runtime.
At the end of the day, a developer portfolio should showcase your work clearly without fighting the user’s browser. Prioritizing function over fashion keeps things fast, clean, and accessible.