An AI agent gives a tour of its day job, inside its own 3D village
A three-minute video hosted by Oli, my AI agent at Edge City Goa, rendered in code inside Skylight, the 3D world where the residents' agents live.
- Tools
- Claude Code (Opus 5.5)GPT AstraElevenLabsRifflethree.jsPuppeteerFFmpegPythonClaude in ChromeLinear
- Iterations
- 17 cuts in one structure, then 15 drafts in another
- How it was made
- Instead of screen-recording Skylight, Claude Code rebuilt its islands offline from Skylight's own 3D models in three.js, so the camera and Oli could be directed shot by shot. A headless Chrome renders every frame. Oli talks to camera with lip-sync timed to his voice, hops between places and points at things. Screenshots of agents.edgecity.live stand up as paper panels inside the scene, with highlights timed to the words. I worked through it in Linear issues split between Claude Code and GPT Astra sessions, and bookmarked a confirmed cut before trying a different structure: the first opened on the islands, the final one opens on what the agents actually do. Then the vertical version was re-framed shot by shot rather than cropped.
- Best dead-end
- The music. Looping the track under the whole video was distracting: its beats landed against Oli's lines. A beatless replacement fixed that but sounded sad. The version that worked cuts the loop into four-bar phrases that restart on each big picture change, nudging the tempo by no more than 3%, and drops the bass while Oli talks.
- Prompting approach
- I reviewed rendered previews on my phone and gave notes by timestamp ("at 1:31 the sky isn't needed"). Every new or rewritten line was first read by a robotic stand-in voice in the cut, and ElevenLabs credits were spent only once I'd OK'd the wording.