Back to blog

Creating an Astro Site Utilizing Astro Islands

A real-world look at island architecture in action

The first thing that drew me to Astro for my personal site was View Transitions. At the time, it was a relatively new API gaining solid browser support — and Astro baked it in. The idea of animating transitions between pages on a multi-page site just seemed cool. So I dove into the docs and started building.

What surprised me was how much more Astro offered beyond View Transitions. The feature that really sold me? Astro Islands.

“An island is an enhanced UI component on an otherwise static page of HTML.” – Astro Docs

This concept builds on Island Architecture — an approach that lets you minimize heavy JavaScript frameworks and only hydrate the components that truly need interactivity. Think of it as building mini-apps within your site. This technique is called partial hydration, and it’s a core performance feature of Astro.

You can choose to render these islands either client-side or server-side. I opted for client-side rendering — a bit more expensive, but manageable for a personal site.

Currently, I’m running two React islands:

Interactive 3D skills cloud powered by Three.js and React Fiber
Interactive 3D skills cloud powered by Three.js and React Fiber

Astro lets me write these islands in React, but I’m free to use other frameworks for future features. That’s the power of Island Architecture: use the right tool for the right UI job without bloating the entire site.

The result? A fast, modern site with interactive elements where they matter — and static HTML where they don’t. Pretty cool.