Live case study

This site is the experiment

I kept the visual identity I liked and rebuilt the machinery underneath it. These are changes from the repository, not demo metrics.

2 7Astro major version
97.5%less portrait weight
0hydrated UI islands
  1. Update the foundation

    Astro 2 had become the constraint. The site now builds on Astro 7 with current React and content collection APIs.

    Astro 2.0.8Astro 7.0.8
  2. Make JavaScript earn its place

    Static content ships as HTML. Small behaviors use native custom elements, with no hydrated framework island on the critical path.

    Multiple client libraries0 hydrated islands
  3. Move fewer bytes

    The main portrait was resized and recompressed without changing the visual direction of the site.

    1.29 MB portrait33 KB portrait
  4. Remove dormant machinery

    Animation, icon, lazy-image, Vue, and utility packages left behind by old experiments were removed from the install.

    Legacy package set12 packages removed

Architecture inspector

Different surfaces, different costs

There is no single frontend rendering strategy worth applying everywhere. Select a real part of this site to see the boundary I chose and why.

Delivery
Static HTML
Browser cost
No framework runtime
Boundary
Astro content collection

Project pages are content-first, so they are rendered during the build. The browser receives the finished document and nothing needs to hydrate.

On the bench

What I am testing next

Exploring

AI review with visible evidence

Workflows that cite the source, show uncertainty, and leave the final decision with the engineer.

In practice

Migration without a feature freeze

Moving Vue product surfaces in vertical slices while component contracts stay stable for the team.

Next

Performance budgets in CI

Turning bundle and image limits into reviewable checks instead of periodic cleanup work.