← Blog

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.

A dim, walkable 3-D room called The Station House — glowing amber labels reading CHAIR, DESKLAMP and BOOKSHELF float over real furniture, with a small glowing gem hovering above the bookshelf.

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.
A close-up of a small gold crown, built from Three.js primitives, resting on top of a nightstand next to a glowing NIGHTSTAND label.
Every claimed spot can grow a real small object now — a crown, a gem, a cat curled up on a chair — built from primitives, not an icon floating nearby.
A wider view of the walkable 3-D Station House room with a glowing wireframe transmitter core at its center.
The whole palace is one real, walkable room — WASD to move, drag to look.
The broadcast control panel: PLAIN/CIPHER mode toggle, a spatial-audio checkbox, and buttons to download the broadcast as a WAV file or copy a shareable link.
One broadcast, three ways to receive it — including a real downloadable, shareable .wav.

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.