A collection of experiments across WebGL, physical computing, and creative algorithms. It includes a spatial 3D portfolio where you explore works by moving through a virtual world, alongside hardware prototypes and web games that bridge the gap between code and interactive environments.
Most portfolios are lists. Grids of thumbnails that ask you to click, scan, judge. The interaction model is the same as an online shop — browse, filter, select. The 3D portfolio inverts that. Instead of a viewer selecting work, the viewer walks through a world that the work inhabits. Discovery is spatial.
The viewer moves through a 3D environment using standard WASD/arrow key controls. The world is small and deliberate — not a sprawling game level, but something closer to a gallery space. Each project lives inside a ring. Standing on or near a ring triggers that project's information, acting as a physical threshold for entering a piece of work. Walking away closes it.
The world uses a dark, atmospheric rendering style — deep purples, volumetric light, soft glow on the rings. The aesthetic sits somewhere between a late-night planetarium and a contemplative game environment. It is designed to feel slow on purpose.
Beyond the browser, my coding practice extends into physical computing and logic-driven web experiments. Bridging the digital and physical realms often reveals how brittle code actually is when it meets gravity, friction, and network latency.
A physical installation fetching real-time Air Quality Index (AQI) data over WiFi.
Using an ESP32, a servo, and a DC motor, the physical movement speed maps directly to the live environmental data of different cities. The worse the air, the more frantic the motion.
A hardware prototype featuring three 7-segment displays driven by dual ESP32 microcontrollers.
The boards communicate wirelessly via the ESP-NOW protocol, bypassing traditional WiFi networks to maintain a perfectly synchronized 5-minute countdown.
A multiplayer web-based word game built entirely in a single HTML file.
It served as an exercise in extreme constraint and rapid iteration, taking direct user feedback to refine the game loops and logic on the fly without complex backend architecture.
I'm not sure a 3D portfolio is the right answer for every designer. But building it, alongside these physical prototypes, permanently changed how I think about the default assumptions baked into the screens and templates we use every day.