Interactive experiences · Independent build
Interactive Portfolio
An optional, playable route through my portfolio, with five story locations and a fishing pond in its own clearing.
- My role
- Independent project · experience design and implementation
- Scope & context
- Personal portfolio · browser-based 3D

Overview
Make a portfolio enjoyable to explore while keeping projects, expertise, and service rates directly accessible. The same world needs to work with a keyboard or touch controls, without making the game a requirement for reading the content.
My contribution
- Built a spherical world with walking and overview cameras, story destinations, and a separate fishing activity.
- Added an animated explorer with emotes, jumping, and a mobile joystick that runs when pushed beyond its outer ring.
- Implemented landmark collision boundaries and navigation that walks around obstacles to reachable arrival points.
- Connected a completed fishing interaction to a dismissible invitation to view the existing service rate card.
Outcomes & status
The working experience combines story discovery, animated character interactions, and a clear route from exploration to services. Mobile interaction checks, collision and navigation checks, and production build checks support the implementation.
The next iteration will focus on profiling lower-powered devices and understanding which parts of the experience visitors choose to explore.
Tech Stack & Tools
- Next.js
- React
- TypeScript
- Three.js
- Skeletal animation
- Pointer controls