← Development archive

ENTRY 03 / Early build /

Moving from the landing page into a world

[December 1st, 2025] [3:56 PM MT]

A single landing page was no longer enough for the direction I wanted to take. I moved the project from Vite to Next.js, with React 19, TypeScript and Tailwind 4 in the December build. The change let me organize the experience into routes instead of putting every new idea into the same page.

Before that migration, I revised the navigation and removed the hidden menu. Those changes made the main paths easier to find. I wanted visitors to be able to explore the world without having to discover the website's basic controls first.

Letting the visitor start the sound

The video loop also needed a more sensible relationship with browser playback rules. I made it start muted and added unmuting after a user gesture. A visitor clicking a control is a useful boundary: it tells the browser that the sound is wanted, and it gives the person using the site a say in when it begins.

A room that could be reused

The new InteractiveRoom component placed clickable areas over a room image. Each area had a position, a label and an action. That was the useful part of the migration for me. I could begin describing a place through its objects and interactions, then reuse the same structure for another room.

I followed with changes to the sticky navigation, room links, shared header and footer, and anchor behavior. These fixes weren't separate from the experience. If a player followed a link and lost their way back, the room system hadn't done its job.

The room component gave me a way to build locations without starting over. The cinematic engine and the Bank would come next.


Sources

Work dates follow the linked commit record in Mountain Time. This account was revised on October 3, 2026.

GitHub commits

Site source at this stage