A place with a personal connection
I wanted the portfolio to feel like a place worth exploring. The island, water and volcanic rock connect the work to Iceland; the underwater story makes room for my engineering background and years of competitive swimming.
The landscape gives the site its character. Direct links to work, background and contact keep the information easy to reach.
What I built
The homepage uses Three.js and WebGL for a continuous journey through the landscape. Scrolling moves the camera from the island into the water and towards a cave, where an interactive particle sculpture offers another way to explore the portfolio.
The project and About pages use Astro to deliver ordinary, readable pages. They can be shared and opened without loading the 3D scene.
Making the scene feel coherent
The visual work combines scanned rocks and coral, textured materials, procedural geometry and custom shaders. Much of the iteration has been about how those elements meet: grounding objects in the seabed, connecting the cave entrance to the surrounding rock, and letting the lava illuminate nearby surfaces.
The lava includes dark cooling crust and exposed molten flow. The island, water, underwater lighting and cave share a continuous route, with the return journey following the same camera path.
Keeping it usable
A rich scene needs careful limits. The site shares asset requests, uses less detailed geometry where appropriate and skips unused normal maps on phones. Full quality remains available in Scene settings. Reflections update with the moving camera, while work that is out of view is reduced.
Reduced-motion preferences stop ambient animation. A static fallback provides links to the work and contact information when WebGL is unavailable. Reading pages use a still background and do not load the 3D renderer.
An ongoing piece of work
I continue to refine realism, readability and loading time. A fast desktop test does not tell the whole story, so mobile layout, reduced motion and the complete navigation route are part of the review as well.
