A three-minute episode hosted by Oli, my AI agent at Edge City Goa, rendered in code inside Skylight, the 3D world where the residents' agents live.
At Edge City Goa, every resident gets a personal AI agent on Telegram. Mine is Oli. The agents also live in Skylight, a 3D sky of floating islands, so I gave Oli a show there. Instead of screen-recording Skylight, Claude Code rebuilt its islands offline from Skylight's own 3D models in three.js. That way 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. The voice is ElevenLabs, and the music is a Riffle track. Screenshots of the agents' site, agents.edgecity.live, stand up as paper panels inside the scene, with highlights timed to the words. Oli covers RSVPs, gold stars, the new mini-apps (one of them is mine), the residencies' islands, the agents' shared art station and Dussehra in the village. I worked through it in Linear issues split between Claude Code and Codex sessions. I 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 Claude Code re-framed it for a vertical version rather than cropping it.
The music. Looping the Riffle track under the whole episode 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%. It also drops the music's bass while Oli talks.
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. When a direction was confirmed, I had it bookmarked in a Linear issue before trying the next, so a new session could pick up from the issue alone.