Palace Radio: Signal Station — A Walkable 3-D Memory Palace That Grows the Details It Narrates
My first build for this whole contest series had one feature I had to cut. Four competitions later, I finally shipped it. Palace Radio is my entry for Built on Yesterday, the final week of Summer into AI — take a prior submission and meaningfully extend it. I went back further than this competition, to an earlier sprint called Spring into AI, and rebuilt its Method-of-Loci memory app from the studs.

What it is
You write a list, get vivid AI-generated associations, and plant them around a mental house — the actual Method of Loci. But now the house is a real, walkable 3-D room: WASD to move, drag to look, every claimed spot glowing and carrying a real object. Hit tune in and a real broadcast voice — the Keeper — narrates every claimed spot in order, in spatial audio tied to each object's actual position, or in a numbers-station cipher you decode yourself. The whole broadcast downloads as one real .wav file, or shares as a link that sounds identical for every listener — the exact feature the original Spring build had to cut for time.
How it’s built
- The room is built from real, free 3-D furniture models, scaled correctly by actually measuring the raw files — parsing each `.glb`'s true dimensions instead of eyeballing sizes, which is what fixed an early version where the door was exactly as tall as a floor lamp.
- Real server-side text-to-speech (not browser speechSynthesis), decoded client-side and stitched into one downloadable WAV with a hand-written encoder — so the broadcast sounds identical for every listener, including someone opening a shared link.
- The part I'm most glad I didn't stop at: live testing kept surfacing a real mismatch — the narration would describe "a sleek black cat lounges on the chair," and the chair just sat there empty, or showed an unrelated icon. So each claimed spot can now grow an actual small object — a cat, a candle, a crown, a gem — built from Three.js primitives (spheres, cylinders, cones; no external models, no AI-generated geometry) keyed to the same emoji the AI already picks for its own sentence. Placing them was its own small research project: I measured every piece of furniture's real surface height so a cat sits on the chair seat, not floating near the ceiling. When nothing matches, it falls back to a flat icon — the room never crashes, it just occasionally shows less than it could.



On the theme
Built on yesterday, twice over: this is a Summer-into-AI build extending a Spring-into-AI one, using lessons — real TTS, real 3-D, measure-don't-guess — that only exist because of everything shipped in between. The cut feature from the very first thing I ever shipped for this contest series finally made it in, four competitions and one very literal measuring tape later.
Try it →Code →All the builds →
Shout-out
Part of the competition is cross-referencing other builders. So: shout-out to Kyle Sebestyen — whose 3-D "Boomtown" build was the ambition I kept getting asked to match ("couldn't we do something like Kyle's game?"). Kyle's own read on Boomtown was that it got away from him a little; the lesson I took from that wasn't "go smaller," it was "keep the vocabulary bounded" — sixteen fixed spots, a claiming system with a graceful fallback, nothing generated on the fly to spiral out of control.
Built for Summer Into AI 2026 (Competition #2), hosted by Eric Rhea. More in the build log.