Back to selected work
03 Web performance Open source

A portfolio rebuilt as a static artifact—not an application.

This site removes the CMS, server work, heavy 3D scene, downloaded fonts, and framework runtime. MDX stays in the authoring experience; visitors receive plain HTML and CSS.

The new warm, typography-led portfolio with a large problem-solving statement

Why rebuild it

The previous portfolio used Next.js, Sanity, animated React components, a theme runtime, and an above-the-fold Three.js laptop scene. That was a lot of application architecture for a small portfolio, and visitors felt the cost as slowness.

The new goal was simple: make the work easy to understand and make the page feel immediate on any connection.

What changed

This version is generated as static HTML with Astro. Project stories are written in MDX and compiled at build time. There is no CMS request, server render, React hydration, animation library, web font, analytics script, or Three.js bundle on the page.

The design uses system typography, real product imagery, one translucent navigation layer, and small CSS responses on press and hover. Motion is optional, restrained, and removed for people who prefer reduced motion.

Decisions that mattered

Start with the message

The hero says what I do in one sentence. Projects are written around the problem and product outcome instead of a wall of technology badges.

Let every byte earn its place

Images are optimized at build time, project media loads lazily below the fold, and the browser receives no framework runtime JavaScript.

Keep editing pleasant

Static output does not mean awkward authoring. MDX keeps each case study readable in the repository while producing plain HTML for visitors.

Result

The portfolio is now a small static artifact that can live on Cloudflare Pages, Vercel, or any ordinary web server. The deployment has no database or application process to keep warm.