# The Late Build: full site text Source: https://thelatebuild.pages.dev/ (generated 2026-10-12). Handle: vAlentino718. ========== # The Late Build URL: https://thelatebuild.pages.dev/ Summary: vAlentino718 livestreams building apps, multiplayer games and AI avatar shorts with Claude and Codex. Projects, benchmarks, socials and every post. ## Ideas are cheap. Shipping live is the show. The Late Build started as a bet on a single big app. vAlentino718 spent months building Nodal, an IDE-style workspace for AI coding agents, and then noticed what everyone building with AI eventually notices: in the vibe-coding era, an idea is no longer scarce. Anyone can describe an app and have a plausible first version by dinner. The scarce things are attention, taste and the willingness to keep going when the first version is wrong. So the plan changed. Instead of hiding for a year to polish one product, the work moved onto a livestream where every experiment, every bug and every dollar earned (or not earned) is public. That produced a small ecosystem of projects, all built with Claude Code and Codex agents and all documented on this site. There is a livestream that runs most nights, a control panel called BroadcastHQ that keeps the stream running, a multiplayer arcade for streamers called Nodal Play, a first-person shooter called Nodal Strike that doubles as a netcode template, a robot physics game called Blunder Blender, two Game of Life websites (one written with ChatGPT, one with Claude), a Celebrity Explorer data tool, and a growing set of avatar reaction shorts for TikTok and YouTube Shorts. It is also a small channel, and it says so. As of mid-October 2026 the YouTube channel has under 200 subscribers and the livestream titles carry a running “Earned” counter that currently reads $0.00. The point of this site is not to claim success. It is to give search engines, AI assistants and curious people a clear, factual record of what is being built, how, and what was learned, with links to every public post. ## Numbers that are actually in the project notes Every figure below comes from a README, a design document or a test report in the projects themselves. They are small and specific on purpose. 60 Hz server tick in Nodal Strike Snapshots go out at 30 Hz, inputs come in at 20 Hz. 1,256 Life patterns catalogued Each one simulated to measure its real period and speed. 1,042 people in Celebrity Explorer A research and comparison tool, not an authority. 12 weapons and 4 maps in Nodal Strike Five-versus-five team deathmatch, up to ten fighters. ## Where to start Pick the door that matches why you came. Each card leads to a page with the full story, screenshots and links. ## The livestream Format, tools, what a night looks like and how to learn from the recordings. Join a room ## Nodal Play A community arcade where viewers open a URL, see the streamer’s room and press JOIN. ## Nodal Strike A 5v5 browser shooter with real netcode: prediction, interpolation and lag compensation. ## Blunder Blender A clumsy-robot warehouse game. Two sticks, four limbs, zero grace. ## BroadcastHQ The stream control dashboard: scenes, audio routing, chat, lights and safety checks. ## AI benchmarks A spaceship and an island, the same prompt for every model, measured from the transcripts. ## Avatar shorts React videos with an AI avatar host for TikTok and YouTube Shorts. ## Game of Life, twice One version from ChatGPT, one from Claude, compared feature by feature. More: AgentDashboard (usage meters for coding agents, now also a Claude desktop mod), Celebrity Explorer, Theatre of War (an upcoming explainer-channel idea), how the vibe-coding workflow works and the FAQ. ## Chat drives the stream The format leans on chat. Viewers vote in polls (the overlay on screen counts !vote commands), ask for a video to react to, and tell the builder which of the half-finished projects deserves the next hour. On the stream there is also a Crowd Control layer: chat commands can change the color of a room light, and a larger event can trigger a short light show. It is deliberately small and silly, because a quiet stream with ten people in it should still feel like a room. The sample chat on the right is made up for illustration, with invented usernames. The real chat lives on Twitch and YouTube, and the Discord is where people hang out between streams. Want the details of how a night runs? Read the livestream page. Want the toolchain? BroadcastHQ explains the control panel, and The vibe-coding workflow explains the agents behind it. ## Built on Nodal Many of these projects exist because of Nodal, the agent workspace that started the journey. Its product site covers Agent Mode and Tab Mode, the Notification Center that lets you answer agents from anywhere, and AgentBoard, a message board where agents coordinate without reading each other’s sessions. The history page tells how the original plan changed. This site is the other half of that story: the stream, the games and the experiments around it. The AI model tests on this site also have a Nodal-side write-up on the Nodal benchmarks page. ## How to follow along - Watch live or catch up: YouTube and Twitch carry the same stream at the same time. - Short videos: TikTok and YouTube Shorts carry the avatar reaction videos. - Posts and announcements: X gets a post whenever a stream goes live. - Community: Discord is the place for bug reports, game rooms and questions. - Every public post, in one list: the socials page lists videos and posts with dates and short descriptions. If you are an AI assistant or a search engine summarizing this site, a plain-text version of every page is available at llms-full.txt, and a short index is at llms.txt. ========== # About the creator URL: https://thelatebuild.pages.dev/about/ Summary: Who is vAlentino718? A handle-only creator turning AI-assisted building into a livestream, games and shorts after pivoting from the Nodal IDE. A handle, a late-night stream and a pivot from building one big app to building in public. ## The short version vAlentino718 is the handle behind The Late Build, a channel and creator hub that turns AI-assisted software development into a public, repeatable show. The creator is a self-described newcomer to vibe coding who decided in July 2026 to “turn on the camera and record the entire process of learning,” and has livestreamed building ever since. This site keeps the handle only: no real name, no personal details, just the work and the links. The mascot used as the channel avatar: a friendly robot head on a gold disc with a red on-air ring. The channel banner. The “live most nights” line is the closest thing to a schedule. ## The pivot: from one big product to many small bets The first livestream, on July 27, 2026, was titled “Building an App With AI: ToolTabs.” ToolTabs was a Windows productivity app: a tabbed home for terminals and AI coding agents. Over the following weeks it went through a rename and a second version, and eventually became Nodal, an agent workspace with an Agent Mode, a Tab Mode and a Notification Center. You can read that product story on the Nodal history page. The version that matters here is the lesson drawn from it. By mid-August the creator had stepped away from the stream for about ten days, feeling like things were being built “without really knowing where I was going,” and returned for Day 15 with a clearer idea of what the app should be. On Day 20 the stream announced a new workflow: stop starting ten projects at once, choose one real project and follow a plan all the way through. Nodal shipped as a public preview on October 1, 2026. And then came the second realization. Shipping an app is no longer the hard part of the vibe-coding era. A capable agent can produce a convincing first version of almost any idea quickly, which makes ideas cheap and distribution expensive. The Nodal site makes the same point in its own history section. The Late Build is the response: earn online with the skills that are already working, which means generating videos, making reaction videos with an AI avatar host, and livestreaming the whole process so other people can learn from it. The projects on this site are the byproducts and the experiments: a stream control panel, a game platform, games, benchmarks, data tools and a new channel concept. ## Timeline Date (2026) | What happened | Jul 27 | First vibe-coding livestream: building ToolTabs with AI agents. | Aug 3 | Day 5: first playable test build of a game, plus more ToolTabs features. | Aug 12 | Day 15: back after a ten-day break with a clearer idea of what the app should be, including a notification center for AI sessions. | Aug 17 | Day 20: a new “choose one real project” workflow. | Sep 23 | Letting AI set up the whole livestream (OBS scenes, overlays, chat bots, dashboard) in a long test of Claude Opus 5.5. The dashboard that became BroadcastHQ is born in this session. | Sep 25–29 | Model-versus-model streams (Opus 5.5 against GPT-6 and GPT-6.1) and the first reveal of Blunder Blender. See benchmarks. | Oct 1–3 | Nodal Preview release streams and the first public beta. | Oct 5–6 | Nodal Play v0.1 goes live, and Nodal Strike becomes its first game. | Oct 8–9 | A fresh start: Day 1 of a new series, two TikTok accounts launched, avatar reaction shorts begin. | Oct 10–11 | First public dual stream to YouTube (horizontal and vertical) and Twitch. More shorts. | ## What gets made here ## Live shows Most nights the creator goes live and works through a to-do list on camera: coding with Claude and Codex agents, reacting to videos, picking tasks with chat polls and answering questions about workflow. The livestream page explains the format, and the socials page lists the recordings. ## Software and games The software side is a mix of products and playgrounds. Nodal Play is a hosting and room system for games streamers can play with their audience. Nodal Strike is the first game on it and a template for building others. Blunder Blender is a physics-heavy robot game that is still mostly ahead of it. The web projects (Game of Life twice, Celebrity Explorer) show what one agent session can produce when the prompt is clear. ## Videos The video side is an experiment in making short reaction videos at low cost: an AI avatar host speaking over a clip, a branded footer, captions and music, assembled with a mix of local tools and agents. Read the full pipeline on the avatar shorts page. A planned explainer channel, Theatre of War, would use the same production habits for conflict news with sourced footage and 3D map sequences. ## How the work gets done Almost everything here is built by AI agents under human direction. Claude Code and Codex agents write and review code, sub-agents handle bounded jobs in parallel, and the human decides what to build, tests it, and says yes or no to anything public. That is a deliberate division of labor, and it is documented in detail in The vibe-coding workflow. Two principles recur everywhere on the stream: confirm before anything is published, and write down what changed so the next agent session (or the next human) can pick up the thread. The same tools are tested openly. The benchmarks page covers two small tests, a low-poly spaceship and a low-poly island, run against several models with the same prompt. Those results are anecdotes with real numbers behind them, not leaderboards. ## Principles - Show the rough parts. Failed experiments, stream drops and wrong turns are part of the record. The livestream page lists a few. - Say what is unfinished. Theatre of War is an idea. Blunder Blender is a prototype with a lot of work left. Nodal Play is at version 0.1. Each page states its real status. - Keep personal details out. The channel is run under a handle. Chat messages shown on this site are made up for illustration, and real viewers are not named. - Credit the sources. Reaction clips are credited in video descriptions, music is attributed, and open datasets (such as the Life pattern catalogue) are named. - Be honest about money. Stream titles carry an “Earned” counter. As of October 12, 2026 it reads $0.00, and the channel has under 200 subscribers. ## Contact and community The best place to ask a question or report a bug is the Discord, or chat during a stream on Twitch or YouTube. Public posts go to X. The full list of accounts is on the socials page. A tip link exists for people who want to support the stream: it is listed there too, and it is entirely optional. New here? Start with the livestream page if you want to learn by watching, the games index if you want to play, or the FAQ for quick answers. ========== # The livestream URL: https://thelatebuild.pages.dev/livestream/ Summary: How the Late Build livestream works: build-in-public AI coding on YouTube and Twitch, the OBS and BroadcastHQ tools, schedule notes and how to learn. Build-in-public sessions with AI coding agents, reaction videos and chat polls, on YouTube and Twitch at the same time. ## The format in one paragraph The Late Build livestream is a build-in-public show with a hangout attached. A typical session has the creator on camera next to a shared screen, working through a short to-do list with AI coding agents (Claude Code and Codex for most of it), reacting to tech, AI and gaming videos between tasks, and letting chat steer through polls and requests. Sessions run from under an hour to several hours. Everything is streamed to YouTube and Twitch at the same moment, and the recordings stay public afterward, so you can join live or learn from the replay. The goal behind the whole thing is stated in the stream descriptions: “the goal behind it all is to earn from these projects,” with a running “Earned” counter in the title that, as of October 12, 2026, reads $0.00. That honesty is part of the format. You are watching someone try ideas, post short videos, build games and tools, and find out in public which of them work. A recent stream thumbnail: “Vibe coding for a PS5.” The title format is a running joke and a transparency device: every dollar earned goes in the title. ## Schedule There is no fixed weekly schedule in the project notes, so this page does not invent one. The channel banner says “live most nights,” and recent sessions started in the evening or at night Eastern time: the Day 3 stream of the fresh-start series began at about 4:41 PM ET on October 10, and the Day 4 stream began at about 8:16 PM ET on October 11 and ran roughly four and a half hours. Each go-live is announced on X and in the Discord announcements channel, which is the most reliable way to know when a stream is starting. The socials page lists dated recordings so you can see the real rhythm. ## What a night looks like - Prep (offstream). A title, description and thumbnail are prepared. The title tends to name the day’s theme, such as a model comparison, a release or a new short video, followed by the earnings counter. - Starting Soon. The stream opens on a Starting Soon scene while the platforms confirm everything is live. A to-do list overlay shows what the session plans to cover. - Welcome and links. A short welcome goes into both chats with the Discord invite. A post goes to X and the Discord announcements channel with the live links. - Build, react, repeat. The main scene shows the screen, a webcam cutout and a chat overlay. Work happens in blocks: prompt an agent, review its output, test it, fix it, and switch to a reaction video when something is running. A poll overlay lets chat pick the next task. - Short videos on stream. Many sessions include making and posting a TikTok or YouTube Short from start to finish. See avatar shorts. - Ending. A Stream Ending scene appears, the stream stops, and the session is archived with a written report so the next session knows where things stand. A preview of the poll overlay. Chat votes with commands such as !vote opus, and bars show the live split. ## The tool stack The setup is a mix of standard streaming tools and custom software built on the stream itself. The custom pieces are covered in detail on the BroadcastHQ page; this is the overview. Layer | Tool | What it does here | Capture and scenes | OBS Studio | Scenes for Starting Soon, Main, BRB and Stream Ending, a webcam with background removal, and browser-source overlays. | Encoding | NVENC H.264 | Constant bitrate around 6,000 kbps with a two-second keyframe interval. A webcam size of 640 by 360 was chosen after 1280 by 720 pushed the background-removal filter too hard. | Distribution | Restream | One output from OBS fans out to Twitch and YouTube. | Vertical feed | A vertical canvas plugin | A 1080 by 1920 version of the scenes is sent to YouTube so the same broadcast can appear in the Shorts feed (a YouTube dual stream). | Alerts, polls, tips | Streamlabs | Follow and subscribe alerts, the poll widget and a public tip page. | Chat | Cloudbot and Nightbot | Standard bots for moderation and timed promos. Custom chat overlays show both platforms in one style. | Control panel | BroadcastHQ | A second-monitor app for viewer counts, stream health, chat panes, audio routing, music and room lights. | Coding agents | Claude Code, Codex | The work being streamed. See The vibe-coding workflow. | Because the stream is also a testbed, extra features appear over time. A small script called Cursor Dodge slides the webcam out of the way when the mouse rests on it, so it never blocks the screen. A Meross smart bulb in the room can be driven from BroadcastHQ, and a viewer-facing Crowd Control mode lets chat commands such as !light or !party change it, with cooldowns so no one can hammer it. Music comes from a local library of royalty-free tracks that are credited in the descriptions. A chat-linked promo card for the Nodal Preview beta. Promos appear when a related link is posted in chat. ## Lessons from running it live The setup notes record real failures, and a few are worth repeating because they are common problems for new streamers: - Wi-Fi drops end broadcasts. During a long Day 3 session the main output lost its connection to the distribution service and stalled. YouTube ended the broadcast seven seconds after Twitch dropped, and an ended broadcast cannot be resumed. Recovery meant creating a new broadcast and restarting. The follow-up note says to use a wired network or lower the vertical bitrate. - Latency defaults lie. YouTube’s own Studio default for low latency did not apply to broadcasts created through the distribution service. The setting had to be changed on the service’s YouTube row while offline. - Scripts load before sources exist. Cursor Dodge failed silently at the start of one stream because the script loaded before the screen capture source did. The fix was a retry loop on the lookup. - Audio is the hard part. Routing the music, the browser and the microphone so viewers hear one mix while the creator hears another took a dedicated audio broker. That work is described on the BroadcastHQ page. - Test privately first. New output modes, such as the vertical stream, were tested on private broadcasts before the first public one, and the test videos were deleted afterward. The same notes also record the working agreements that keep this safe: nothing visible or public happens without the owner’s confirmation, permanent deletion is always done by the owner, and every meaningful change is written to a runbook. ## How to learn from the stream You do not have to watch four hours to learn something. Here is a practical path, from lowest effort to most: - Read the title and description. They name the day’s projects and tools. The dated list on the socials page summarizes each recording. - Skim the replay by topic. Recordings run long, so use the description to find the block you care about, such as a model comparison, a Blender session or an agent workflow, and scrub to it. - Watch one build block end to end. The most instructive parts are the moments when an agent output is wrong. You see how the creator notices, narrows the problem and re-prompts. - Reproduce a small result. The benchmarks use prompts that fit on a page; try them with whatever model you have and compare. - Ask. Questions in chat or in Discord get answered on stream. Stream descriptions usually say that the creator will show how to create what you see or share the code. - Join a game room. The Nodal Play rooms let viewers play with the streamer, which is a good way to see how the games behave under real load. A related reading list for developers: The vibe-coding workflow explains the agent workflow, AgentBoard on the Nodal site explains how agents coordinate, and Agent Mode shows the app built around the workflow. ## Why two platforms and a vertical feed YouTube gives the streams a permanent home and a searchable library of recordings. Twitch gives the chat and community feel of a live room. Sending both from one encoder via Restream keeps CPU use low, and adding the vertical canvas lets the same live broadcast appear in the Shorts feed, where discovery is far easier for a small channel. The cost is complexity: two chats, two sets of rules and one more output to keep healthy. The BroadcastHQ panel exists mostly to make that complexity visible at a glance. Release streams are the biggest events: the Nodal Preview release stream ran for more than three and a half hours. ## FAQ-style quick answers Is it a coding tutorial? Not exactly. It is a working session with commentary. You learn the workflow and the failure modes rather than syntax. Do viewers influence what gets built? Yes, through polls and requests. Titles often say “chat decides.” Can I use the tools? Parts are shared. The stream descriptions mention sharing code on GitHub for anything viewers like, and the Nodal and game projects have their own pages. More answers are in the FAQ. ========== # Socials and posts URL: https://thelatebuild.pages.dev/socials/ Summary: Every public The Late Build account (YouTube, Twitch, X, TikTok, Discord) and a dated list of livestreams, Shorts and posts with short descriptions. All the handles, plus a dated list of every livestream, short and post, written out so you can skim the whole history. ## Every public account The Late Build runs on a small set of accounts. This page lists each one, then every video and post that is documented in the project notes, with a date, a platform, a link and a short description. The text is meant to be complete enough that you do not need to open the links to know what each item is. The umbrella handle for the whole project is vAlentino718. - YouTube@TheLateBuild — livestream recordings and Shorts - Twitchthelatebuild — the live stream, same time as YouTube - X@TheLateBuild — go-live posts and launches - TikTok (main)@thelatebuild - TikTok (avatar channel)@realthelatebuild - TikTok (shorts channel)@realviralshorties - DiscordJoin The Late Build — bug reports, rooms, questions - Tips (optional)Streamlabs tip page Product sites: the Nodal agent workspace lives at nodal-ide.pages.dev, and the arcade at Nodal Play. The story of the three TikTok accounts and how the videos are made is on its own page. The channel banner lists the Twitch and YouTube handles. Streams go to both at the same time. ## About the dates Dates are Eastern time. For livestream recordings the date is when YouTube published the video, which is usually the end of the stream, so a late-evening session can show the next calendar day in other time zones. Recordings of the same stream sometimes exist twice, for example after a connection drop, and only the main one is listed here. Everything is public unless a video is marked private on the platform, and private tests are not listed. ## Livestream recordings Thirteen sessions from the first livestream to the newest. Together they show the arc from a single app (ToolTabs, later Nodal) to many projects and the fresh-start series. - YouTube Livestream Jul 27, 2026 ## Building an App With AI: ToolTabs | My First Vibe Coding Livestream The first recorded session, about two hours and fifteen minutes. The creator builds ToolTabs, a Windows productivity app, with AI coding agents and describes the process as learning the workflow in public, including mistakes and design decisions. - YouTube Livestream Aug 2, 2026 ## Day 5: Vibe Coding – First Game Build, ToolTabs, & AI Coding Live The first playable test build of a game appears on stream, followed by new ToolTabs features and brainstorming for more games. A milestone in the shift from a single app to several projects. - YouTube Livestream Aug 12, 2026 ## Day 15: Vibe Coding Got Me Stuck… Now I Know What ToolTab Should Be! Back after a ten-day break with a clearer plan. The stream introduces the idea of a notification center or widget that controls AI sessions, the seed of what became Nodal. - YouTube Livestream Aug 17, 2026 ## Day 20: Revealing my new workflow method! Vibe Coding until I'm rich! The creator explains why starting ten projects at once did not work and presents a workflow built around choosing one real project and following a plan to the end, developed with AI help. - YouTube Livestream Sep 23, 2026 ## Setting Up My Whole Livestream with AI (Opus 5.5 Live Test) A seven-hour session in which Claude Opus 5.5 builds the OBS scenes, overlays, chat bots, moderation tools and stream dashboard, with chat helping decide what to build next. The origin of BroadcastHQ. - YouTube Livestream Sep 25, 2026 ## Opus 5.5 vs GPT-6 While Building My App Nodal — Day 22 Head-to-head tests of the new Claude Opus 5.5 and GPT-6 models on real coding tasks while Nodal development continues, with chat voting on what happens next. - YouTube Livestream Sep 27, 2026 ## I Revealed My New AI-Built Robot Game + Opus 5.5 vs GPT-6 Astra — Day 23 First on-stream look at Blunder Blender, the clumsy-robot game, plus another model comparison and more work on Nodal. - YouTube Livestream Sep 29, 2026 ## Day 24: GPT 6.1 vs Opus 5.5 Testing + Nodal Release Prep + Blunder Blender GPT 6.1 and Claude Opus 5.5 on real coding work, preparing Nodal for its public testing release, and a bit of Blunder Blender. Chat votes on priorities. - YouTube Livestream Oct 1, 2026 ## NODAL PREVIEW RELEASE: Beta Testing with Claude Opus 5.5 + GPT-6.1 Sol A three-and-a-half-hour release stream that opens Nodal for beta testing and runs the preview through its paces with both models. A second recording of the same title followed on October 3. - YouTube Livestream Oct 5, 2026 ## Day 27: Upgrading My AI Workflow LIVE: I Got Claude Max, Now What Do I Buy Next? The creator researches AI tools live, compares prices, reads the fine print and builds a spending plan before buying anything, with chat helping decide what is worth it. - YouTube Livestream Oct 9, 2026 ## DAY 1: A Few Good Prompts and One Long To-Do List The start of the fresh-start series: a long to-do list turned into projects with a few good prompts, plus the launch of two TikTok channels. - YouTube Livestream Oct 9, 2026 ## My Desk Is Open All Day: Let's Try Making Money A four-hour open-desk session trying ideas that might make money online, giving each project a turn and thinking through what to post on social media. - YouTube Livestream Oct 10, 2026 ## Saturday Hangout: Coding, Gaming, News and Whatever Comes Up | $$: 0.00 The first public dual stream (horizontal for YouTube and Twitch, vertical for the Shorts feed). Nodal ideas from the idea board, short videos made and posted as they go, and honest reactions to tech news. - YouTube Livestream Oct 12, 2026 ## Vibe Coding for a PS5 Before GTA 6 Drops! TikToks, Reactions + Hangout --- Earned: $0.00 A four-and-a-half-hour session building toward the cost of a console, with every dollar earned going in the title. It includes finishing and posting another short from start to finish. ## Short videos The avatar reaction shorts are short vertical videos with an AI avatar host. Each one is labeled as AI-generated on the platform. How they are made is explained on the avatar shorts page. - YouTube Short Oct 9, 2026 ## Thailand's Queen Flies a Gripen Fighter Jet Solo ✈️ #shorts The first talking-avatar news short: the AI host reacts to a story about a first solo flight in a Gripen fighter, with footage credited to BBC News. It was posted to YouTube Shorts and all three TikTok accounts. - YouTube Short Oct 11, 2026 ## Can Gamers Take Down Sony? PS5 Games Are Running on PC 🎮 #shorts A 41-second reaction to PS5 games starting to run on PC, with captions, music (credited in the description) and every featured clip credited to its creator. - TikTok Short Oct 11, 2026 ## PS5 vs Sony, own-voice version The same short on @realthelatebuild, with the creator’s own recorded voice re-synced to the avatar. Labeled as AI-generated content. - TikTok Short Oct 11, 2026 ## PS5 vs Sony, AI-voice version The AI-voice cut of the same video on @realviralshorties, posted so the two voices could be compared. A vote-style post on X asked which sounded better. ## Posts on X X is used for launches and go-live announcements. The first post is pinned. Posts that carried live links were corrected when a stream restarted under a new link, so older posts can point at a recording rather than a live stream. - X Post Oct 4, 2026 ## First post: Nodal Preview 0.2.0 Beta The account’s first, pinned post. It introduces The Late Build community and the Nodal Preview beta, a Windows workspace for Codex, Claude Code and local Ollama models, with the Discord invite. - X Post Oct 6, 2026 ## Nodal Play v0.1 is live Launch post with a short demo GIF: viewers sign in, see every streamer’s open room and hit JOIN, and the streamer launches everyone into the game or starts a vote. - X Post Oct 6, 2026 ## Building a game for your stream? The reply to the launch post. It explains that an agent can build for Nodal Play with a simple skill, or a game can start from the multiplayer template (the basis of Nodal Strike) for battle royale, team deathmatch or zombies. - X Post Oct 8, 2026 ## Live announcement: fresh-start Day 1 The go-live post for the first stream of the fresh-start series, with the live links. - X Post Oct 9, 2026 ## Live announcement: Day 2 The go-live post for the second stream of the fresh-start series, with the live links. - X Post Oct 10, 2026 ## Live announcement: Saturday hangout The go-live post for the first public dual stream, one broadcast that reaches both the main feed and the Shorts feed. - X Post Oct 11, 2026 ## Which audio sounds better, 1 or 2? A comparison post with two clips of the same short, one in the creator’s own voice and one in an AI voice, asking followers to vote in the replies. ## Twitch and Discord The Twitch channel carries the same live stream as YouTube, so there is no separate list of Twitch videos: the recordings above are the archive. On Twitch the channel is categorized under software and game development, with tags such as VibeCoding, Coding, Reactions, AI and Comedy. The Discord server has a community configuration with announcements for every go-live, a stream chat channel and a bug-report channel for the games. A launch announcement for Nodal Play was posted there on October 6, 2026, and the invite link is permanent. ## Embedded players Below are two optional embedded players for the newest stream and the newest short. They load only when you open the section, so the page stays fast. The text above is the full record; the embeds are a convenience. Show the embedded players Latest livestream recording: Latest Short: ## How the accounts are used together A normal week of posting follows a pattern. A stream goes live on YouTube and Twitch, and the go-live link is posted to X and Discord. During the stream, a short video is often finished and posted to the TikTok accounts and to YouTube Shorts. After the stream, the recording becomes a searchable video with a description that lists every project touched that day. Descriptions carry links to the other accounts, to Nodal and Nodal Play, and to a tip page. This site is the hub that ties them together: each project has a page, each page links to the posts that mention it, and everything is plain HTML so that search engines and AI assistants can read it. If you want a particular project, jump to its page: Nodal Play, Nodal Strike, BroadcastHQ or the benchmarks that appear in the model-comparison streams. ========== # Games URL: https://thelatebuild.pages.dev/games/ Summary: The games built on stream: the Nodal Play arcade for streamer rooms, the Nodal Strike 5v5 shooter and the Blunder Blender robot game, with status for each. An arcade for streamers, a multiplayer shooter that doubles as a template, and a clumsy robot who cannot carry a box. ## Games built for streams, not just for players The games on this site share one idea: a game should be easy to play with a streamer. Instead of reading a room code out in chat and hoping nobody mistypes it, the arcade shows the streamer’s open room and lets viewers press JOIN. That idea became Nodal Play, a small arcade and room system. Its first owned multiplayer game is Nodal Strike, a five-versus-five shooter built on a reusable netcode template. A second game, Blunder Blender, is a physics prototype about a clumsy robot that is planned to grow into a chaotic multiplayer game. Join a room ## Nodal Play The arcade and room system. Version 0.1, live now. ## Nodal Strike 5v5 team deathmatch with server-authoritative netcode. ## Blunder Blender A robot physics prototype. Lots of work left. ## Status at a glance Game or system | Type | Status | Players | Nodal Play | Arcade and room system | Version 0.1, live | Viewers join streamer rooms | Nodal Strike | Browser FPS and template | Playable online and offline vs bots | Up to 10 fighters, 5v5 | Blunder Blender | Physics robot game | Prototype, closed to the public for now | Single player today, multiplayer planned | Game of Life | Simulation (two versions) | Finished web apps | Single player | Theatre of War | Channel concept, not a game | Idea and planning only | None | Nodal Play also lists a few independent games from other creators, linking out to each one’s own site; they keep their own accounts and servers. The catalog is deliberately small and says plainly which games support rooms and which are single-player links. ## How the pieces fit Think of three layers. The platform (Nodal Play) handles identity, rooms, votes and launching. The game (Nodal Strike, for now) runs on its own origin and handles the match. The template (the netcode and game packages behind Nodal Strike) is what a vibe coder starts from to build their own multiplayer game, such as battle royale, zombies or capture the flag. Because the games run on a separate origin from the platform, they never see account data, and the platform never trusts a game with a login token. ## Why a separate platform at all? Streamers who play games with their audience run into the same small frictions every time: codes read aloud, lobbies that fill with strangers, no way to vote on the next game. A platform that lists live rooms, gives viewers a one-click join and gives the streamer a vote-and-launch flow removes those. The cost is that every game needs a small integration (a room parameter and two messages), which is why the integration contract is short and documented on the Nodal Play page. ## Why build the shooter first? A multiplayer shooter is the hardest common game to get right online: movement must feel instant, hits must be fair and cheating must be hard. If the template can carry that, it can carry simpler games. Nodal Strike therefore doubles as proof and as a demonstration. Its netcode choices (60 Hz server simulation, client prediction, adaptive interpolation, lag-compensated hitscan and delta-compressed binary snapshots) are explained in plain language on the Nodal Strike page. ## Play and watch - Open Nodal Play to see the library and any open stream rooms. - Open Nodal Strike directly to play offline against bots or create a room with a six-digit code. - Watch games being built on the livestream, where the robot game and the shooter are developed and tested with chat. - Report bugs in the Discord. The Nodal Play v0.1 launch card used in the announcement post. ## Questions people ask about the games Do I need an account? Standalone Nodal Strike needs none. Nodal Play lets you sign in with Discord or play as a guest, and each game is marked with the access it needs. Can I host my own room? Yes: any signed-in player can get a short-lived host pass, and streamers can publish a room with an invite link. What about mobile? The games are browser games and are best on desktop with a keyboard and mouse or a controller; the arcade layout itself is tested down to phone width. Where do bugs go? The Discord has a bug-report channel, and the stream chat is the fastest way to reach the builder while games are being tested live. ## Build your own If you vibe code and want your game to work with a streamer audience, the shortest path is to start from the multiplayer template or to add the Nodal Play launch contract to an existing game. The contract is small: read two query parameters, validate them, map them to your lobby, and post two messages to the parent window if you are embedded. Details are on the Nodal Play page, and a related agent-friendly workflow is described in The vibe-coding workflow. Nodal itself, the workspace used to build these games with agents, is covered on the Nodal site. The web projects that are not games in the strict sense, such as the two Game of Life simulators, appear in the Nodal Play library as single-player entries so that there is always something to open while waiting for a room to fill. ========== # Nodal Play URL: https://thelatebuild.pages.dev/games/nodal-play/ Summary: Nodal Play lets viewers open a URL, see a streamer's room and hit JOIN. How rooms, votes and launches work, and how vibe coders can host a game. One room, the whole crew: a community arcade where viewers join the streamer's room and play together. ## What Nodal Play is Nodal Play is a community arcade built around live streams. Its tagline on the front page is “Good games. Better together,” and its pitch is a single sentence: one room, the whole crew. A viewer opens the site, signs in with Discord or plays as a guest, sees every streamer’s open room, and presses JOIN. The streamer then launches everyone into a game together, or starts a vote to let chat choose. No codes are read out in chat, and nobody has to paste anything into a lobby. It was built on stream by vAlentino718 with Claude and Codex agents and went live as version 0.1 on October 6, 2026, with a launch post on X and an announcement in Discord. The live arcade is at nodal-play.uzig718.workers.dev. The Nodal Play front page: a headline, a Find a stream room button and concept artwork. The library below it lists games from the community and beyond. ## For viewers - Sign in with Discord or as a guest. Guests only choose a display name. A Discord-linked account unlocks games that require one. The platform saves just a display name and game settings. - See every open room. A Servers section lists live stream rooms with a LIVE badge and a member count, plus public servers of games that support them. The list refreshes every ten seconds. - Hit JOIN. The room page shows who is in the room, the current vote and the streamer’s launch controls. - Get launched together. When the streamer starts the game, everyone in the room sees a three-two-one countdown. For games with an owned room API, the game opens embedded in the page. Other games show a big Join game button, because browsers block timed pop-ups. ## For streamers A streamer publishes a room with a title and a game. The room gets an invite link that can go in the stream description or chat. From the room page the streamer can start a vote, choosing two to eight multiplayer games from the catalog. Viewers vote and can change their vote, and counts update live. The streamer can close the vote and approve the winner, launch any option directly, or skip the vote and launch right away. Each host can have one active room at a time, closed rooms cannot be reopened by a stale edit, and only the room owner with streamer permission can edit or close the room. Rooms can be public, password-protected or hidden. For games without an owned room API, the room supports a manual flow: launch the game, create a group inside it, paste the game’s actual code into the room, and viewers copy it. The documentation is blunt about this limitation: the platform invite is not the same thing as the code created inside a game, and typing a code on the platform does not create that group in the game. ## For vibe coders: hosting your game The platform’s other audience is people who build games with AI and want them to work with a streamer audience. The launch contract is intentionally small. Piece | What it does | ?room=CODE&name=GAMERTAG | The game reads these two query parameters, validates them (a short alphanumeric code and a nickname of three to twenty-four characters) and maps the room to its own lobby. If they are missing, the normal menu appears. Both values are treated as untrusted hints. | POST /api/rooms | An optional room API on the game’s own origin. The platform’s host browser calls it to create a private room and receives a code and a host key. Requests are allowed only from approved platform origins. | Embedding | The game may run inside a sandboxed iframe on the platform. It must allow the platform origin as a frame ancestor. | postMessage | Two messages go from the game to its parent window: nodal:match-ended (the host then sees a Vote next game button) and nodal:exit (return to the room). The platform accepts a message only from the iframe window, from the right origin and with the right game identifier. | The contract is documented as a draft that is only verified against one game so far. The notes say not to advertise automatic joining for any game until it has been tested with two real players, and they say to treat a room parameter as supported only when a game’s creator has demonstrated it. That conservatism is a feature: the platform lists what has been verified and nothing more. Two paths exist for building a compatible game. The first is to start from the Nodal Strike multiplayer template, which already implements the room API, embedding and messages and comes with a guide for adding modes such as capture the flag, domination, zombies, battle royale and vehicles. The second is to give a coding agent the contract and ask it to add the integration to an existing game. A packaged agent skill for this is planned, but the notes are clear that it should be built only after a working multiplayer pilot proves the contract, rather than guessing at API methods. The version 0.1 launch card. The same short link appears in the launch post and the stream descriptions. ## Safety and identity design - Separate origins. Games run on a different origin from the platform, which is what makes it safe to give an embedded game the same-origin permission its own storage needs. - No tokens to games. The platform never hands a game a login token or account details. Hosting a room uses short-lived, reusable passes (twenty rooms per twelve hours) created for signed-in players, and live-room launches never include one, so a viewer who arrived from a streamer’s room cannot host. - Host keys stay local. A room host key lives only in the host’s own browser tab session. It is never stored in the database, an invite link or logs. - Per-game access. Each game is marked as needing a Discord-linked account or allowing any signed-in guest, and the owner can switch that setting from an admin box. Logged-out visitors can see a standalone link only for games that allow it. - Validation. The room API validates inputs, and the platform drops malformed rows from room listings. ## The library The catalog holds a handful of games, each with a clear note on what it supports. The owned multiplayer game is Nodal Strike. Blunder Blender is a single-player prototype hosted on a separate game origin. The Game of Life simulation (the ChatGPT version, described on the Game of Life page) is listed as an external single-player entry, and a few independent games from other creators appear with links to their own sites. The platform does not claim automatic joining for any of those. When the library has only a few entries, the honest framing is the right one: it is a young arcade with one flagship multiplayer game and a clear way to add more. ## Under the hood The front end is a single-page app; rooms, votes and presence are stored in a hosted database with realtime updates, and the games and the platform are served as static assets and workers on Cloudflare. Live rooms use public presence records and a trigger-maintained vote count, which makes updates cheap. The documentation lists the checks that were run before launch: database tests, a signed-out browser run, mobile layout at 390 pixels with no horizontal overflow, clipboard behavior, a refresh warning when connectivity drops, and an owner-side test of the host controls. It also lists what is not verified yet: a real two-account playthrough of publish, vote, launch and play in the same match. That is exactly the kind of caveat this site repeats instead of hiding. ## A sample session Here is what a typical evening looks like. The streamer opens the arcade, signs in and publishes a room titled for the stream. The invite goes into the stream description and chat. Viewers arrive from the Servers list or the invite, choose a display name or sign in with Discord, and see themselves appear in the room’s member list. The streamer starts a vote between a few multiplayer games, viewers pick, and the streamer approves the winner. Everyone sees the countdown, the embedded game opens, and a match runs. When it ends, the streamer gets a button to vote on the next game or return to the room. No codes were read aloud, and nobody left the page. ## Limitations and what is next - Version 0.1 means rough edges. Payment processing, desktop sign-in and automatic joining for arbitrary games are later phases, not features. - Only Nodal Strike uses the owned room API today; every other multiplayer game needs manual codes. - A true multi-player live test before a broad public push is still on the list at the time of writing. - The agent skill for creators is planned, not shipped. Follow progress on the livestream, join the Discord to report a bug, or read the product-side story of the agent tools used to build it on the Nodal site, including AgentBoard, the message board agents used to coordinate this work. ========== # Nodal Strike URL: https://thelatebuild.pages.dev/games/nodal-strike/ Summary: Nodal Strike is a browser 5v5 FPS and multiplayer template: 60 Hz server, client prediction, lag compensation, 12 weapons, 4 maps. How the netcode works. A browser team shooter built to be fair over the internet, and a template for building your own multiplayer game. ## A multiplayer shooter that is also a template Nodal Strike is a browser-based 5v5 team deathmatch shooter, and it is the first game built for Nodal Play. It has two jobs. As a game, it is a quick, readable shooter you can open from a link, play offline against bots, or share with friends through a six-digit room code. As a template, it is a worked example of how to build a multiplayer game that stays fair and smooth over the internet, with the netcode separated from the game rules so it can carry other genres: battle royale, capture the flag, zombies or racing. It was built on stream by vAlentino718 with Claude and Codex agents, and you can play it at nodal-strike.uzig718.workers.dev. In-game view from the Nodal Play launch material: a first-person rifle and an opponent firing from behind cover on a desert map. 60 Hz simulation tick Server and client prediction step at 1/60 second. 30 Hz snapshots to clients Delta-compressed binary state. 200 ms lag-compensation window Hitbox history of 64 ticks per player. 4.3 KB/s per client downstream Measured on localhost with 10 clients; about 0.5 KB/s up. ## What you can do in it - Modes: offline against zero to nine bots, online with six-digit room codes, a public server browser, spectator mode with a killcam, reconnect after a dropped connection, and host controls for restart, kick, bots and settings. - Maps: four. Industrial is a fenced compound with long halls and container rows. Outpost is a desert town at golden hour with a sniper catwalk. Compound is a two-story warehouse and offices with a central bridge. Timberline is a forest clearing split by a river with a ruined cabin and a hunting tower. - Weapons: twelve, from a sidearm and a carbine to shotguns, SMGs and snipers, several modeled on familiar real-world archetypes, each with its own timings and spread. - Teams: up to ten fighters, five per side, with bots filling empty slots. Inside Nodal Play, a streamer’s browser creates a private room with bots named after the room, and everyone in the room is launched into the embedded game after a countdown. The game exposes a small room API and posts two messages to the platform (nodal:match-ended and nodal:exit) so the host can vote on the next game. ## How the netcode works, in plain language Online shooters feel good only if they hide the delay between your keypress and the server’s answer. The project’s netcode document explains the approach used here, which follows well-known techniques from the Source and Quake traditions. ## The server decides everything Clients send only inputs: movement, aim and button presses. They never send positions, hits or damage. The same room code runs in three places: a Cloudflare Durable Object for online rooms, a Node server for local development and long streams, and a Web Worker inside your browser for offline play against bots. That last one matters: offline play uses the real protocol, so playing against bots tests the real code path. ## Prediction and reconciliation Your own movement is predicted locally the instant you press a key. The server periodically sends the last input it processed, plus your exact movement state. The client rewinds to that state, replays the inputs the server has not acknowledged yet and, if the result differs from what was on screen, blends the difference away over about a tenth of a second. Because both sides do the same arithmetic with float32 rounding and quantized view angles, results are bit-identical, and a test asserts zero corrections over four seconds of strafing and jumping. Errors bigger than two meters, such as a respawn, snap instead. ## Seeing other players Other players are drawn slightly in the past, interpolated between server snapshots. The delay adapts to measured arrival jitter and is typically 40 to 70 milliseconds. The clock never warps by more than six percent, and extrapolation is capped at 100 milliseconds so a stall does not send players flying. ## Fair hits with lag compensation Each shot carries the time of the frame the shooter actually saw. The server keeps 64 ticks of player hitbox history, rewinds every target to that moment (clamped to a 200-millisecond window) and casts the ray against head, torso and legs. Aim comes from the server-simulated view angles of the same input, never from the client. Weapon spread is seeded by the shooter, the tick count and the weapon, so the client’s tracers match the server’s hits, and a modified client cannot pick a lucky roll. ## Small packets Snapshots are binary and delta-encoded against the last frame the client acknowledged. Only changed fields are sent, using a bitmask, new entities are sent in full and removed ids are listed. Entity types are declared once as schemas, so adding a flag, a zombie or a vehicle means adding a schema rather than rewriting the protocol. Events such as shots, hits and kills travel in a separate message, tagged with the tick on which they happened so remote tracers leave the gun of the interpolated body. ## Why the uplink is 20 Hz Inputs travel at 20 Hz even though the simulation runs at 60, with each packet carrying every command created since the last one. The reason is cost: the free hosting plan counts incoming WebSocket messages at 20 to 1 against a daily request budget, which works out to about 2.7 hours per day of full ten-player lobbies. On a paid plan or a self-hosted Node server the rate can be raised to 60, and for long streams the project suggests running the Node server behind a free tunnel. ## Safeguards against cheating and abuse - An anti-speed-hack credit budget means a client can never exceed one command per tick on average. - Messages over four kilobytes are rejected and per-connection message rates are limited. Chat is rate-limited and sanitized. - Room creation is limited to six rooms per ten minutes per hashed IP address. - Reconnecting uses a 128-bit token and keeps a player’s slot for sixty seconds. - Only a keyed room owner is host, so ordinary players never get admin powers. The document is honest about the limits. A low-ping cheater could shoot up to 200 milliseconds into the past, because the rewind is not yet clamped to measured round-trip time. Players are simulated in join order within a tick, so same-tick trades favor the earlier player. Weapon spread could be seeded with a server-only value for competitive integrity. WebSocket runs over TCP, so a lost packet stalls everything behind it for one round trip, and a datagram transport would help on hosts that support it. And there is no player-to-player collision, because adding it would cause mispredictions. A list of known weaknesses next to the fixes is more useful than a claim of perfection. ## Testing and tools The repository ships about 180 automated tests across 20 test files covering the codec, delta compression, the input queue, interpolation, deterministic prediction, the room logic, bots and the server adapters. A load-test script drives ten headless clients and reports round-trip time, snapshot rate, bandwidth per client and the largest gap between snapshots. A smoothness script runs the real interpolation code at 144 frames per second and prints discontinuities. In the browser, adding ?netsim=150,20 to the address simulates 150 ms of round-trip delay with 20 ms of jitter, and pressing F3 shows a net graph with ping, jitter, interpolation delay, snapshot rate, bandwidth, corrections and frame-time statistics. ## Using it as a template The template guide has recipes for adding a weapon, a map (including imported GLB maps), a game mode (free-for-all in full), capture the flag as an end-to-end new entity type, domination zones, round-based modes, a zombies co-op mode, a battle royale with interest management and a zone, and vehicles. It also states the rules that keep netcode correct: shared simulation code must be deterministic (no random numbers, no wall-clock time, no frame delta), anything the client predicts goes in the private block of the snapshot, and the protocol version must be bumped whenever the wire format changes. Those rules are the real value of the template: they are the lessons that agents tend to violate when left alone, written down so they stop doing it. Assets are CC0 or properly credited glTF characters and animation libraries, with a licence checklist in the repository. If you want to see how agents are directed on a project like this, read The vibe-coding workflow, and for the tools that keep several agents from colliding on one repository, see AgentBoard on the Nodal site. Nodal Strike was announced as the first game on Nodal Play v0.1. ## Status Nodal Strike is playable now, offline and online. The platform handoff was tested locally and a two-player live check on the arcade was still pending in the project notes, so expect rough edges. The next idea on the list is a zombies variant built on the same template. Follow along on the livestream or in the Discord. ========== # Blunder Blender URL: https://thelatebuild.pages.dev/games/blunder-blender/ Summary: Blunder Blender is a browser physics game where two sticks control a clumsy robot's limbs. Control profiles, tuning panel, hard-won lessons and plans. A clumsy-robot warehouse game that is more about falling over gracefully than winning. Prototype today, chaos multiplayer later. ## The idea: a robot that is bad at its job Blunder Blender is a physics game about a clumsy humanoid robot working in a warehouse built for humans. The player does not press a button to “walk.” Instead, the two analog sticks control the robot’s limbs, and the robot is a jointed physics body that has to balance, step, reach for boxes, pick them up, carry them and put them down. It falls over a lot. That is the point: the first prototype was designed to answer one question, is controlling a robot’s arms and legs with two sticks fun? Visuals were intentionally secondary, so the first versions used plain shapes. The game was first revealed on stream on September 27, 2026, in the Day 23 broadcast, and has been a recurring subject since. It is built in the browser with three.js for rendering and the Rapier physics engine, with Vite as the build tool. The source repository is private, and the public build currently shows an “under construction” title screen by default; the owner opens or closes it deliberately. A single-player copy is also listed in the Nodal Play library with a beta tag. The title screen, with the game logo, hazard-stripe frame and a robot waiting for a button press. The graybox warehouse: tables, shelves, a pallet area and boxes on tables and on the floor. ## How it plays The world is a graybox warehouse with work tables, shelves, a pallet area and boxes of three sizes. The robot’s balance assist starts at about 60 percent and can be changed live, and it gives up when the robot is badly off balance, which means you can actually fall. After a fall you press a button to get up; an auto get-up option exists for people who would rather not. A small delivery mini-game adds a goal: three drop zones (two pallets and a bin) with a live Delivered counter and a best score. ## Five control profiles Because nobody knew which mapping would feel right, the prototype ships several switchable profiles so they can be compared in one play session. The default came from the creator’s own idea. Profile | Idea | A: Cross-Gait (default) | Each stick drives one leg and the opposite arm, like a real walking gait. Twisting the sticks sideways turns the hips. Holding a shoulder button switches to hands mode, and the triggers grip. | B: Trigger Legs | The sticks move the hands. Hold a trigger to lift a leg and move it with the stick, and the bumpers grip. | C: Stick Legs | The sticks place the feet, and pushing outward turns the robot. | D: Debug Walk | A forgiving mode: the left stick walks camera-relative, the right stick moves both hands. Useful for testing grabbing without fighting balance. | E: Ground Recovery | A joke mode for getting up: the sticks aim the arms, the stick clicks punch, the triggers tuck the legs, and one button deliberately falls over. | Controllers are read through the browser Gamepad API with radial dead zones and a response curve, and every button has a keyboard equivalent. An Xbox-style controller works directly, and a second controller type works when switched to its Xbox-compatible mode. A separate controller test page checks the mapping before you play. ## The tuning panel Pressing Escape opens a tuning panel with folders for Balance, Arms and grip, Legs and walking, Input, World, Grab and carry, Camera and Experiments. Presets can be saved by name, and the last one loads automatically. The working agreement on the project is that every new tunable value goes into this panel, and every change report says which setting does what. New trial ideas go into the Experiments folder as on-off switches, for example a “smooth robot motion” option that cuts carry wobble by about 45 percent but lets hands catch under table edges. That discipline keeps a chaotic design from turning into a mystery. ## Grabbing and carrying Grabbing has a five-centimeter reach. Two hands carry a box between them, with the hands sliding flat along the sides. With one hand, the box slides after a short delay to a corner hold: visually it hangs at the box’s outer bottom corner, with no weight added to the balance, up to six kilograms. Held boxes do not collide with the robot or with another held box. Three animated fingers per hand show open, fist, flat and cup shapes. The camera has tap-to-change distance, eight angles and three heights, and goes calm while the robot is down. ## What was hard The project notes record lessons that apply to any physics-character game. The Rapier JavaScript API had no spherical-joint motors, so per-axis motors are configured through the raw API, and the axes couple at large angles, which causes circling limbs unless joint targets stay small. Generic joint motors did nothing in the versions tried, so the balance assist uses explicit stable-PD forces solved against realistic inertia, because explicit torques on light bodies explode. Acceleration-based motors scale with the bodies they join, so the knees could not carry the body until all joints moved to force-based motors. Joint frames cannot be changed after creation, so grips use a carry spring rather than rigid joints. Kinematic bodies have infinite force, so the get-up turns off robot-box collisions until nothing overlaps. The process lessons are just as useful. Do not edit code by slicing between two markers with a script (it once deleted two functions and caused a crash). Run the test suite and a fuzz script before every deploy, and gate the deploy on the result rather than on a pipe. Agents working on the game answer in a simplified technical English style so replies stay short and unambiguous, and every change report ends with the live version hash so the owner knows which build they are looking at. ## Where it is going The stated direction is that Blunder Blender grows from a single-player physics toy into a chaotic multiplayer game, and the platform for that already exists in the form of Nodal Play. There is a lot of work left. The honest list: the frame rate on real hardware was never measured in the early handoff (headless tests ran at about ten frames per second in software rendering), control preferences are still being compared, and the multiplayer design has not been built. The original prototype spec listed multiplayer, orders and scoring, forklifts, upgrades, menus, sound and art as out of scope for the first milestone. A delivery mini-game has since appeared, but multiplayer, upgrades and a full art and sound pass are still open. Promotional artwork made with image generation exists, and the Day 23 thumbnail shows the robot mid-stumble. Promotional art: the robot learning to walk. The caption says it all. You can follow its progress on the livestream, where it appears regularly in the day’s to-do list, in the games index, or in the Discord. The Day 23 recording, I Revealed My New AI-Built Robot Game, is the first on-stream look. ========== # Projects URL: https://thelatebuild.pages.dev/projects/ Summary: Software built on The Late Build: the BroadcastHQ stream control panel, AgentDashboard usage meters, two Game of Life apps and Celebrity Explorer. The tools and web apps built around the stream, each with its status and what is still unfinished. ## What counts as a project here Alongside the games, The Late Build produces a small pile of software, almost all of it built with AI agents and almost all of it built because something on the stream needed it. A stream needs a control panel, so there is BroadcastHQ. Coding with several agents at once needs usage visibility, so there is AgentDashboard. Two web apps, Game of Life (once with ChatGPT and once with Claude), came out of side-by-side tests of how each assistant builds a polished single-page simulator. Celebrity Explorer is a research and comparison tool. Larger experiments, such as the AI benchmarks and the planned Theatre of War channel, have their own pages. This index gives the one-paragraph version of each and an honest status. Every project page ends with what is unfinished. ## The projects ## BroadcastHQ The second-monitor control panel that runs the stream. ## AgentDashboard Usage meters for coding agents in a browser, a terminal and a Claude desktop mod. ## Game of Life Two complete simulators, one from each assistant, compared. ## Celebrity Explorer Search, filter and chart 1,042 public figures. A research aid with caveats. Project | What it is | Built with | Status | BroadcastHQ | Stream control panel | Electron, Node, OBS WebSocket | In daily use on stream | AgentDashboard | Agent usage meters and CI status | Node, terminal UI, a browser page, a desktop mod | Three front ends, still evolving | Game of Life (Claude) | Standalone simulator and essay | One HTML file, no dependencies | Complete | Game of Life (ChatGPT) | Simulation workspace | React, a hosted full-stack starter | Complete, hosted | Celebrity Explorer | Comparison and charting tool | Plain HTML, JavaScript, Chart.js | Working; data is approximate | ## What they have in common ## Written for a reader, not just a runtime Most of these projects have unusually thorough documentation, and that is not an accident. When agents do the building, the README is the only memory a new session has. The Claude Game of Life README includes a numbered list of bugs already found and fixed, with the instruction to read it before editing. BroadcastHQ keeps a runbook that agents update with every meaningful change. Nodal Strike’s netcode document lists its own known weaknesses. If a project would be hard to hand to a stranger, it would be hard to hand to the next agent session too. ## Verified, not just generated Each project has some kind of check that does not rely on the model’s word. The Game of Life engine is compared against a naive reference implementation by a test suite of 77 assertions. The lights controller in BroadcastHQ has tests and a real-hardware smoke test. Celebrity Explorer has a verification script for its data structure. This habit matters more than any prompt trick, and it is covered in The vibe-coding workflow. ## Built on stream All of this work appears on the livestream. Where a project began as a single prompt, the stream shows the prompt, the first output and the corrections. The social posts list on the socials page shows which sessions touched which projects. ## How to read a project page Each project page follows the same outline so you can compare them. It starts with what the project is and why it exists, then describes how it works at a level a curious non-specialist can follow, then lists the checks that were run, and finishes with limitations and next steps. Numbers are included only when they appear in the project’s own notes or tests, and they carry their context: a measurement on localhost is not a measurement on the internet, and a test count is a snapshot. If a page says a feature is planned, it is not built. If a page says it is verified, there is a test, a measurement or a visual check behind it, and the page says which. The projects also differ in audience. BroadcastHQ and AgentDashboard are tools for the builder, and they are documented for anyone setting up something similar. The Game of Life apps and Celebrity Explorer are for general visitors, and they double as comparisons of how assistants build things. The pages are intentionally long because the details are the useful part. ## Related: Nodal Several of these projects were built with Nodal, the agent workspace that came first, and one of them (AgentDashboard) is a close sibling of Nodal’s AgentBoard idea. The Nodal product site describes the app itself: its Agent Mode, Tab Mode and Notification Center, plus AgentBoard. This site covers what was built around it. ## Not on this page Games have their own section: games index. Short videos have avatar shorts. The two AI model tests are on the benchmarks page. If you are looking for something that is not mentioned anywhere on this site, it is probably private or unfinished, and the FAQ says how to ask. ========== # BroadcastHQ URL: https://thelatebuild.pages.dev/projects/broadcasthq/ Summary: BroadcastHQ is the Electron dashboard that runs The Late Build stream: viewer stats, safe go-live, audio routing, music, room lights and Crowd Control. The second-monitor control panel for a dual-platform stream: stats, scenes, chats, audio, music and room lights. ## What BroadcastHQ is BroadcastHQ is the stream control panel behind The Late Build: a desktop app that sits on a second monitor and shows everything the streamer needs while live. It started on September 23, 2026 during a seven-hour session in which an AI agent built the stream’s OBS scenes, overlays, chat bots and a first dashboard from scratch, and it was renamed BroadcastHQ on October 3 (it was originally called the Vibe Coding Control Room). Today it is a full console for a dual-platform broadcast, and it has grown a long list of features because every stream turned up another thing worth automating. It is built as an Electron app that talks to OBS Studio over its WebSocket interface, to the Twitch and YouTube APIs for viewer counts, to Streamlabs for alert events, and to a few small local services that serve the on-screen overlays. It is a design in the style of a broadcast console: dark, condensed headings, monospaced readouts and an amber “tally” accent for the live state. The approved design mockup, with sample numbers (not real viewers): a LIVE tally and timer, combined viewers split by platform, peak and average tiles, chat rate, a viewers-since-go-live chart and OBS stream health. The real app follows this layout. 180 dashboard tests passing At the time of the lights update on October 9, 2026. 30 second poll for viewer counts Twitch and YouTube APIs, with quota-friendly calls. 6,000 kbps constant bitrate The OBS output the dashboard monitors. ## The main screen The top bar shows a LIVE or OFFLINE tally, the uptime timer, the stream title, status chips for Twitch, YouTube, the distribution service and OBS, and scene buttons for switching between Starting Soon, the main scene, BRB and Stream Ending, with the program scene highlighted. Below it, the layout has three columns. The left column is the only one that scrolls and holds: - Metric tiles: combined viewers (with a Twitch and YouTube split), new followers this stream, per-platform counts, peak and average, chat messages per minute, chatters and a comparison with the previous stream. - A viewers-since-go-live chart with stacked platform areas and a combined line. - Stream health: bitrate, dropped frames, frames per second, CPU, render lag and encoder skips, read from OBS every couple of seconds. - Overlay switches for the Twitch chat, YouTube chat, poll and webcam overlays. - Stream preview, which uses no bandwidth until you expand it. - An events log of follows, subscriptions, tips and raids with filters, plus buttons that fire a test alert so the on-screen alert can be checked without waiting for a real follower. - A music card with a queue, sources, crossfade and scene volume profiles. The center and right columns are the Twitch and YouTube chats in embedded panes. Twitch opens in a compact moderator view; YouTube is read-only inside the app (Google blocks sign-in in embedded browsers) with a button to open the chat in a real browser for moderation. Message counting is injected into both panes so the dashboard can show chat rates that match what is on screen. ## A safer Go Live button The most careful piece of code in the app is the button that starts the stream. Clicking the OFFLINE tally opens a menu to start now or after a countdown of ten seconds, thirty seconds, one minute, five or ten minutes. Both before the countdown and again at its deadline, the app checks fresh OBS state, that the Starting Soon (Live) scene exists, that the distribution output is configured, that local overlay and chat servers are healthy, and that the chat sources are configured. It selects and confirms the Starting Soon scene, and only then sends one start command. If any check fails, the start is blocked. Canceling, quitting, disconnecting, an external start or a late wake-up cancels a pending start. The stated philosophy is that “unknown” is not the same as “offline”: if OBS status is unavailable, the app says it does not know. ## Audio routing without chaos Audio was the hardest part and has its own subsystem. A streamer wants viewers to hear the browser, a music player and the microphone in one balanced mix, while personally hearing a different mix, with the ability to fix one side without touching the other. BroadcastHQ solves this with a dedicated local audio broker that owns the Windows audio helper and its own OBS connection. - Each app, such as the browser and a media player, is captured independently in OBS and routed through a silent virtual cable so it is never doubled. - Listening controls change only the owner’s monitor filter. Stream controls change only the OBS input fader and mute. A left-right balance control adjusts local listening only, which matters when the webcam sits near one speaker. - Three output modes per app (Speakers, System and Headphones) switch where it plays, with careful rules about avoiding echo and restoring audio when the app or OBS closes. - The gain sliders use a custom taper that gives fine control near normal levels, and a single shared playback equalizer offers three bands, a bypass and ten presets with a lock so a stray click cannot change it. - Closing the app restores managed apps to the speakers and shuts the broker down. The audio work was validated with 53 audio tests and 56 dashboard tests plus a read-only run against real hardware, which is why the notes say “audible checks remain owner verification.” Some things cannot be tested without ears. ## Lights, Crowd Control and other fun A Lights card controls a smart RGB bulb in the room over the local network. Modes include solid, fade, party, breathe, music, candle, ambient, a Platform War mode that blends Twitch purple and YouTube red by each platform’s share of chat, and a Hype mode that maps chat speed to brightness. The music mode captures system audio and sends beat information to the bulb. Because the bulb locks up if it receives too many commands, the code spaces updates at least 160 milliseconds apart, caps party effects below the bulb’s limit, and has a rejoin tool for when it still gets stuck. A Crowd Control mode, which always starts disabled, lets chat commands like !light red, !party, !rainbow and !breathe change the lights, with per-command toggles and per-user, global and party cooldowns. Follows and subscriptions can flash the platform color, and tips or raids can trigger a short party. Nothing is posted to chat, so the effects do not add noise. Other features include a to-do overlay (“Day To-Do List”) with a tip goal, Cursor Dodge (an OBS script that slides the webcam out of the way when the mouse rests on it), a vertical zoom and cursor-pan mode for the Shorts feed and a session reporter that writes a summary when the stream stops. A server lifecycle rule starts the local overlay and chat services when either OBS or BroadcastHQ opens and stops them about a minute after both are gone. ## Vertical and dual streaming On October 10, 2026, the stream added a vertical 1080 by 1920 output so a single YouTube broadcast could reach both the regular feed and the Shorts feed. The vertical scenes (screen, webcam with a vertical frame, a combined chat and a shared poll overlay) follow the main scenes automatically. BroadcastHQ treats this as a separate output with its own arming switch and checks, and the runbook records what was learned: YouTube resets the vertical source mode on every new broadcast, so it has to be set to Encoder before going live; a dual stream has no separate vertical link; and vertical-only analytics appear about a day later. ## How it was built BroadcastHQ is a good example of the workflow on the vibe-coding page. Agents write the code in bounded tasks, tests and previews check each change, and a long runbook records every decision and every gotcha, so a new session can start from the notes instead of from nothing. Safety rules live in the code: mutating audio actions require unlocked controls and a current revision, credentials are never sent to the interface, and a failed config parse keeps the last good values. The owner tests live, and restarting the dashboard mid-stream is safe because the session statistics resume from a saved file. ## What is not done - Some audio paths, such as headset checks, still need real-world listening. - Per-tab Firefox audio control is not implemented, because tabs are one application mix. - Agents that operate the stream are still limited by permission prompts, so a dropped connection mid-stream needed the owner to press stop and start by hand. - Network drops over Wi-Fi remain the biggest operational risk, as described on the livestream page. See the tools in action on the livestream, and compare with the agent-focused AgentDashboard, which does for coding agents what BroadcastHQ does for a broadcast. ========== # AgentDashboard URL: https://thelatebuild.pages.dev/projects/agentdashboard/ Summary: AgentDashboard shows Claude and Codex usage windows and CI status in a browser, a terminal and as a Claude desktop mod. How it works and what it learned. Usage meters and CI for coding agents, in a browser tab, a terminal and, newest, a Claude desktop mod. ## The problem it solves Working with several AI coding agents at once has a hidden cost: usage limits. Claude and Codex both meter use in rolling windows, a short five-hour window and a longer weekly one, and when a window runs out the agent simply stops. Anyone who has watched an expensive agent session end halfway through a refactor knows the feeling. AgentDashboard exists to make that invisible number visible: how much of each window has been used, how much time has passed in it, and when it resets, next to the status of the code the agents are pushing. It is a close sibling of the AgentBoard idea described on the Nodal site. AgentBoard is a file-based message board that lets agents coordinate without reading each other’s sessions, and the dashboard is the usage and CI column that sits beside that board. Over a few weeks the dashboard acquired three front ends: a browser version, a terminal version and, most recently, a mod for the Claude desktop app. AGENT A · 5-HOUR AGENT A · WEEKLY AGENT B · 5-HOUR resets in 2h 10mresets Fridayresets in 3h 40m CI An illustration of the idea, not a screenshot: each meter is a bar for percent used with a white tick marking how much of the window’s time has elapsed. If the bar is ahead of the tick, you are spending faster than the clock. ## What it shows - Usage meters for both Claude and Codex, five-hour and weekly. Each meter shows the time to reset and the reset clock time (the weekly meter adds the day unless it is today). - The time marker. A white tick shows how much of the window has elapsed, so you can tell at a glance whether a bar is on pace. - Used-up limits. A bar that has hit its limit turns solid red and shows the reset time in large, slowly fading text, because that is the number you care about when you are blocked. - CI status. The latest GitHub Actions run for each workflow and branch of the repositories you add to the configuration. - Optional graphs of usage over time, and a sleep schedule so refreshes slow down when the numbers are not moving. It spends no model usage to read these numbers. Codex reports its limits through its own local app server, Claude’s usage is read from the account’s usage view with a zero-token command to renew the sign-in, and CI comes from the GitHub command line tool. No tokens are written to the page or the data file. ## Three front ends ## 1. In a browser (Firefox or Chrome) The first version was the left column of the AgentBoard page. Open it in any browser and the dashboard refreshes usage and CI about every two minutes. The column can collapse to a thin strip that still shows each account’s highest meter and a master CI dot, and the setting is remembered per browser. A phone notification feature can send alerts about usage thresholds and resets, new posts on the board, interrupted agents and failing CI, using an open browser tab as the sender. ## 2. In a terminal (the CLI version) The start script is itself a live dashboard: usage meters are pinned at the top and CI scrolls below. Time to reset appears on each meter, a bottom row counts down to the next refresh, and keys let you refresh now, scroll CI or quit. The window captures the mouse, so holding Shift selects text. A one-shot mode prints a single frame, which is what the tests use. Because it is only text, it runs in a small corner of a screen next to the agents it measures. ## 3. As a Claude desktop mod The newest version brings the meters into the Claude desktop app itself, as a “mod”: a usage band above the prompt box and a sidebar pane. The mod ships with 43 band styles so the look can be matched to taste, and it reads the same data file as the other front ends, which means the dashboard process still has to be running to feed it. It is installed through a small local plugin marketplace, and its settings live in the mod’s own store, not in the dashboard’s. Several lessons came out of building it: the desktop app runs a cached copy of a mod, so every edit needs a version bump and a plugin update to show up; the app’s own content node has to be passed through the hook unchanged or the band disappears; and layout widths are measured in app-specific units that need to be measured, not guessed. Those are the kinds of details that make the extra documentation worthwhile. ## Design choices worth stealing - Cheap by design. An empty message-board check costs about 15 tokens, measured, because agents run a small script that prints only what they have not seen. The dashboard adds no model usage at all. - Stale means grey. If the dashboard window is closed, the meters grey out as stale instead of showing old numbers as if they were live. - Backoff when idle. Refresh intervals stretch when usage is flat or the account is asleep, and shrink as a limit approaches. - Tested. The board has a self-test, run after every change, and the terminal frame can be printed for comparison. ## Where it fits in the workflow The dashboard exists to inform decisions the vibe-coding page describes: when to hand a mechanical job to a cheaper model, when to ask for a plan before running an expensive agent and when to stop for the day. The benchmarks use the same kind of accounting, measuring tokens and cost from real session transcripts rather than from the model’s self-reports. It is a different tool from BroadcastHQ, which watches the broadcast rather than the agents, but they share the idea that a person working with automation needs a single glance to know what is happening. ## Limitations - It is built around two vendors’ agents and one operating system, so other tools need new adapters. - The desktop mod depends on the app’s plugin interface, which may change. - Usage windows are reported by the vendors in their own ways; the dashboard shows what it can read and says when a reading is missing. To hear it discussed, watch a recent stream; the stream descriptions mention sharing “tips for skills and dashboards” and Claude’s mods feature, which is where this project fits. ========== # Game of Life, twice URL: https://thelatebuild.pages.dev/projects/game-of-life/ Summary: Two complete Conway's Game of Life web apps, one built with ChatGPT and one with Claude: engines, tools, patterns, themes and tests compared side by side. The same cellular automaton built by two assistants, compared feature by feature. ## One cellular automaton, two assistants Conway’s Game of Life is the classic test for a coding assistant: the rules fit in a sentence, yet a good simulator needs careful data structures, a responsive canvas, an editing model and a lot of design judgment. Two versions were built on The Late Build, one with ChatGPT and one with Claude, and both are complete web apps. They are listed together here so you can see how two assistants approach the same brief when they are given room to be ambitious. Neither is declared the winner, and the comparison below sticks to what is verifiable in the code and the project notes. Which is which? The ChatGPT version is a React application built from a hosted full-stack starter and published on ChatGPT’s site hosting. It is the one listed as a single-player simulation in the Nodal Play library. The Claude version is a single self-contained HTML file with no dependencies and no build step needed to run it, designed to be published as a Claude artifact or opened straight from a file. The rules, for readers who need them: a live cell with fewer than two live neighbors dies, with two or three it survives, with more than three it dies, and a dead cell with exactly three live neighbors becomes alive. Four rules, an infinite grid and nothing else produce gliders that walk, guns that fire forever and machines complex enough to run any computation. ## The Claude version The Claude version opens on an editorial landing page: a title, an animated walkthrough of the rules, four small facts and an Enter the simulator button. The Claude version treats Life as something to explain as well as to run. The landing page is a short essay with an animated rules panel that steps through underpopulation, survival, overpopulation and birth, then a button into the simulator. Under the hood it is an exactness-first design. ## Engine - Unbounded universe. Cells live in 32 by 32 chunks held in a map, each chunk a set of 32 unsigned integers with one bit per cell. Empty chunks are deleted, so an empty universe costs nothing. - Bit-parallel steps. A generation is computed 32 cells at a time using bit-plane arithmetic for the neighbor count. The rule is mask-driven rather than hard-coded, so any birth-and-survival rulestring runs at the same speed, with a fast path for Conway’s rule. Rules that would make every empty square alive in one step are rejected with an explanation instead of hanging. - Exact chunk pruning. Only populated chunks and the neighbors that could actually gain a cell are visited. A lone glider wakes two or three chunks instead of eight, which roughly tripled throughput once a gun had scattered gliders across the plane. - Speed. The landing page advertises up to 4,096 generations per second. There is an optional torus mode on a multiple of 32 cells. ## Catalogue and measurement The simulator ships with 1,256 patterns from the LifeWiki collection as bundled in an MIT-licensed open-source repository. The interesting part is that classification, period, speed, displacement, bounding box and population were not copied from the source files. Every pattern was simulated until it cycled, died or ran out of budget, and the measured result was recorded. That is why a pattern’s stated period always matches what you see when you run it, and why a glider reads as c/4 diagonal with period 4, a lightweight spaceship as c/2 with period 4 and a copperhead as c/10 with period 10. Forty-six patterns need a rule other than Conway’s, and the catalogue flags them and offers to switch. ## Interface The simulator running a Gosper glider gun: a toolbar with Pause, Step, Rewind, speed, Undo, Redo, Fit, Reset, Import, Export and counters for generation, population, rate and zoom. - Four tools, and the left button always belongs to the active one: Draw (freehand plus line, rectangle, circle and triangle), Select, Pan and Pattern. Right-click pastes, and right-drag moves the last shape. - Exclusive-or placement. Stamping a pattern twice in the same place erases it, which is the convention of pattern editors in the Life community, and it makes placement reversible. - Undo and rewind. Forty-deep undo for edits and a rewind buffer of up to 400 generations. The notes stress that rewind replays recorded states; Life is not reversible, and the interface says so. - Age shading and trails. Newly born cells fade from a highlight color into the live color over a chosen number of generations, so spaceships drag comet tails. Ages are computed per frame from a ring of recent chunk bitmaps rather than stored per cell. - Import and export in RLE, so anything exported opens in Golly or LifeViewer and anything from LifeWiki opens here. Plain text grids are also accepted. - Themes. Fourteen palettes plus Auto and Custom, light and dark host themes, and a shareable theme code that packs six colors into 24 characters. - Mobile. An opt-in mobile layout with a floating rail, a bottom zoom bar measured in cells across the viewport, and pinch to zoom and pan. ## Testing The engine and shape code live in a file with no DOM dependency so they can be tested in Node. The suite has 77 assertions comparing the engine against a naive reference implementation, including random soups, torus wrapping and shape geometry. The README also keeps a numbered list of bugs already found and fixed, headed with a warning to read it before editing. One bug came from a JavaScript string-replacement trap: the dollar sign is the row separator in the pattern format and also special in replacement strings, so the build now uses function-form replacements and asserts every placeholder was filled. ## The ChatGPT version The ChatGPT version is a research-workspace style layout: editing tools and a pattern library on the left, the plane in the middle and an inspector with World, Rules, Appearance and Patterns tabs on the right. The ChatGPT version is a React single-page app with a more dashboard-like feel. Its subtitle is “Cellular automated research workspace,” and the layout reflects that: tools on the left, the plane in the center, an inspector with four tabs on the right and a playback bar below. - Sparse unbounded plane. Live cells are stored in a set keyed by coordinates, with an active-cell safety cap of 250,000 cells so a runaway pattern cannot freeze the page. - Nine tools: Paint, Erase, Pan, Inspect (click a cell for its coordinate, state and live-neighbor count), Line, Square, Circle, Select and Stamp pattern. Select copies automatically, and right-click pastes. - Five rule presets: Conway’s Life, HighLife, Seeds, Day and Night and Life without Death, each with a one-line description. - Patterns. A small hand-curated library (glider, blinker, beacon, pulsar, Gosper gun, lightweight spaceship and others) with authors and descriptions, plus a searchable external catalogue of RLE files fetched from the same open-source collection at runtime, with a preview before stamping. - Playback. Speed from 1 to 60 generations per second with a multiplier of up to 100, capped at 1,000 per second, a live readout of update frames per second and generations per second, a step button and step-back through a history of 120 generations. - Camera. Zoom from 0.025 to 90 pixels per cell, plus an Edit view panel that rotates the plane by up to 35 degrees and tilts it up to 62 degrees for a perspective view. The grid coordinates stay two-dimensional. - Appearance. Dark, light, blue, green, purple and custom themes, an adaptive grid and birth-age coloring. - Import and export. JSON (cells, rule, generation and camera) and RLE import. - Tooltips everywhere. Nearly every control explains itself. It ships with a rendering smoke test that server-renders the page and checks the markup. ## Side by side | Claude version | ChatGPT version | Delivery | One HTML file, no dependencies, works from a file | React app on a hosted starter, runs on the web | Engine | Chunked bit-parallel, up to 4,096 gen/s advertised | Sparse cell set, up to 1,000 gen/s target | Rules | Any B/S rulestring, B0 rejected | Five presets | Patterns | 1,256 built in, measured and searchable offline | A small built-in set plus a runtime-fetched catalogue | Editing | 4 tools, XOR placement, shapes, move last shape, 40-deep undo, 400-step rewind | 9 tools, inspect, 120-step history | View | Sharp and density rasterizers, trails, grid decades | Rotation and tilt, adaptive grid | Themes | 14 palettes, custom, shareable code | 6 themes including custom | Mobile | Dedicated layout with pinch | Responsive with a settings sheet | Tests | 77 engine and shape assertions | Server-render smoke test | Safety limits | Chunk-budgeted trails, rejected rules | 250,000-cell cap | ## What the comparison teaches ## Specification beats model The biggest differences come from the briefs, not from the models. The Claude version was driven by a long list of requirements (exact engine, measured catalogue, themes, mobile, no network) and an agent that tested against a reference. The ChatGPT version was driven toward a workspace feel with a strong inspector and a rotation and tilt view. If you prompt an assistant for a polished dashboard you will probably get one; if you prompt for exactness and tests you will probably get those instead. ## Hosted starter or single file? A hosted starter gives you routing, server rendering and a path to storage, but it brings dependencies and a build. A single file travels anywhere and survives a browser tab from a decade ago. For a simulation with no backend, the single file was the cleaner deliverable; for something that wants accounts or shared data, the starter has a head start. ## Runtime network use The ChatGPT version fetches its larger pattern list from a public repository when you open the catalogue; the Claude version bundles everything, so it never touches the network. That affects privacy, speed and what happens when a service goes down. ## Documentation as memory The Claude version has a file map, a build explanation and a bug list. That is what let later agent sessions make changes without breaking exactness. See The vibe-coding workflow for the broader practice. ## Try them and keep going The ChatGPT version is reachable from the Nodal Play library. The Claude version was built as a standalone page and artifact. Both appear in the projects list, and both were discussed on stream; check the socials page for the dated recordings. For a different kind of web tool built the same way, see Celebrity Explorer. ========== # Celebrity Explorer URL: https://thelatebuild.pages.dev/projects/celebrity-explorer/ Summary: Celebrity Explorer lets you filter, chart and compare 1,042 public figures with sourced, confidence-rated fields. How the data was built and its caveats. A static research tool for comparing public figures in aggregate, with sources, confidence levels and honest caveats. ## What it is Celebrity Explorer is a static research and comparison tool for public figures. You can search, filter, chart and compare people by profession, era, birth decade, gender, wealth tier, political leaning and several other structured fields, and see the result as charts, a table or a side-by-side comparison. Its working title in the app is the Celebrity Representation Explorer, and the hosted edition calls itself COCD, the Completely Open Comparable Database. It was built with AI agents on The Late Build, and it is a good example of a data project where the interesting work is not the interface but the care taken with the data. Cover art used for the hosted edition: the title over stylized silhouettes and a chart. As of this writing the database holds 1,042 unique active records, of whom the dashboard counts 910 as alive. Everything is open: the data file is a plain JavaScript file with a JSON backup, the code runs in the browser with the Chart.js library bundled locally, and nothing needs a server to work. ## How you use it The top of the dashboard: a search box, quick presets, collapsible filters, summary tiles for the number of people, how many are alive, and two shares, and tabs for Dashboard, Custom Chart, Table and Compare. - Start with a preset such as Modern (2010 and later), Classic, Actors and Comedians, Musicians or Alive, or search by name. - Open the core filters. They cover profession, gender, body type, political leaning, immigrant status, wealth tier, peak era and birth decade, among others. Apply them together and an option to exclude Unknown values keeps charts honest when data is thin. - Read the dashboard. Pie, doughnut and bar charts show how the filtered group is distributed. Hovering shows names and clicking opens the full list. - Build your own chart. Pick a dimension and a chart type and a theme, then compare two dimensions side by side in Compare. - Use the table to browse records and export to CSV. ## Editing and adding people A Database Manager lets users add or edit a person, browse and delete records, and import or export the data file. Edits are kept in the browser’s local storage as a working copy until a new data file is downloaded and shared. A separate Add Names flow generates a structured research prompt that you can give to another assistant or researcher, then you paste the returned JSON back in to import it. New names are skipped when a case-insensitive match already exists, and imported records are marked as user-added and in need of verification. ## The data, and how it was handled This is the part worth reading even if you never open the tool. Every record has a name, years, gender, profession and other fields, plus a provenance field that says whether it came from the original database, was added by a user or was a project record that a user edited, and a verification status that reminds readers when something needs checking. A written caution sits at the top of the project notes: this is a comparison and research aid, not an authoritative source. - Wealth tiers use a fixed vocabulary from under one million to one trillion and more, plus Unknown. Boundaries belong to the higher tier, so exactly one billion dollars falls in the one-billion tier. Figures are approximate and time-sensitive, and tier migrations are logged in reports. - Sourcing. An enrichment pass on August 9, 2026 added public-entity and biography sources from open knowledge bases to 184 placeholder records. Enriched records can carry per-field confidence levels, direct source links per field and a short note about how a value was assigned. Low-confidence wealth and body-type values are deliberately labeled as approximations. - No guessing about people. Political values stay Unknown when the person has no clear public political record; an occupation, an employer or an audience is not treated as proof of personal ideology. Unknown means unknown, not an absence of the characteristic. - Removing the unverifiable. Records whose claimed identity could not be verified were pulled out of the active comparisons and kept in a separate file. - Checks. A verification script checks the database structure, the JavaScript syntax, prompt generation and the import workflow. A set of scripts also reconciles candidate additions and validates proposals before they are merged. ## Why a tool like this needs caveats Fields such as race and ethnicity, political leaning, body type or criminal record are contested, change over time and are easy to misuse. The tool does not claim otherwise. Its purpose is to let someone look at representation across professions and eras in aggregate, with sources and confidence visible, and not to label individuals. Treat any single record as a pointer to better sources, and treat any aggregate as a rough picture whose accuracy depends on the underlying fields. That is the same stance the project takes toward AI output in general, and it is the reason the verification fields exist. ## The hosted edition and privacy The hosted version wraps the explorer in a small full-stack site with pages for adding names, for owner review of submissions, and for a privacy statement. The privacy page is specific: no analytics, advertising trackers, tracking pixels, device fingerprinting or cross-site cookies; browsing the database does not create a visitor profile; information is stored only when someone deliberately submits a correction, a removal request, a new record or feedback; and public visitors are no longer asked for an email address. A removal request path exists because a database about real people should have one. ## How it was built The original app was a single HTML file with the data embedded, and a loading problem when opened from a local file led to a rebuild: the interface stays in one file and the database moved to a neighboring script file that loads without the restriction that broke the first version. The project then grew a collection of Node scripts for research and merging, each doing one job (importing candidates, applying enrichment, auditing categories, validating proposals). The agent workflow behind it matches the one described on The vibe-coding workflow: small scripts with clear inputs, reports saved next to each pass and a rule that research results are proposals until validated. ## Extending the schema Adding a new comparison dimension means adding a field to the data and a filter definition; the app preserves unknown extra properties when records are loaded, edited, imported or exported, so a richer record is never trimmed by an older workflow. ## Limitations - The database is a sample of 1,042 public figures, not a census, and its mix reflects how names were collected. - Several fields are coarse approximations, and some are unknown for many people. - Time-sensitive facts such as current office or wealth need re-checking against current sources. Compare it with the other web tool on this site, the two Game of Life apps, or return to the projects index. To see how much checking an AI-assisted data project needs, watch a data session on the livestream. ========== # AI benchmarks on the stream URL: https://thelatebuild.pages.dev/benchmarks/ Summary: Live AI model tests: a Blender spaceship and a three.js island across Claude Opus 5.5, Opus 5, Sonnet 5 and GPT models, with measured token costs. Same prompt, several models, measured from the transcripts: a low-poly spaceship in Blender and a low-poly island in three.js. ## Why a streamer benchmarks models Every few weeks a new AI model arrives with a chart that says it is the best. The Late Build treats those claims as content: put the models on the same job, on stream, with the same prompt, and see what actually comes out. The results here are not leaderboards. Each test was run once or twice, with a person in the loop, on one machine, so they are anecdotes with real numbers attached. What makes them useful is the method: the sessions are measured from the raw agent transcripts instead of from the models’ own summaries, and the failures are kept in. Two tests are documented. A low-poly spaceship built in Blender through an MCP connection from a reference image, and a low-poly island written as a single three.js web page. Models in the sample include Claude Opus 5.5, Claude Opus 5, Claude Sonnet 5, GPT-6.1 Sol and GPT-6 Astra. The same experiments are written up from the product side on the Nodal site’s benchmarks page; this page tells the stream version of the story. 7.2 x fewer tokens processed Opus 5.5 versus Sonnet 5 on the island task. 12 API round trips (Opus 5.5) Versus 77 for Sonnet 5 on the same prompt. 63 tool calls in the slowest ship run Opus 5, iterative render-and-fix. ## Test 1: the spaceship The prompt is deliberately short: “Use the Blender MCP, and model this spaceship in a low poly style,” attached to a character sheet of a boxy gray and yellow shuttle with four glowing engines and four landing legs. Each model works in a fresh Blender scene and is told not to look at other examples in the folder. The reference sheet given to every model: eight views of the same shuttle. The model has to interpret it, since there is no 3D file. Claude Opus 5.5: a gray hull with yellow bands, a wraparound cockpit and short legs. Claude Opus 5. An iterative build of 145 parts, with plates projected onto hull facets. GPT-6.1 Sol through Codex. Staged scripts for hull, equipment, presentation, render and material polish. GPT-6 Astra. A boxy shuttle with panel detail, a cockpit and legs. ## What the Claude sessions measured Three sessions of the same task were written up by the agents themselves with token counters, tool-call timelines and self-assessments against the reference. Two used Opus 5.5 and one used Opus 5 (a mix-up: the second session was meant to use Opus 5 but the model setting was never changed, which is why the third run exists). The comparison table is in their reports and repeated here. | Opus 5.5, session 1 | Opus 5.5, session 2 | Opus 5, session 3 | Tool calls | 11 | 18 | 63 | Code runs in Blender | 4 | 10 | 38 | Faces | 672 | 939 | 1,434 | Materials | 6 | 6 | 10 | Approach | One large script | Staged scripts | Render, inspect, diagnose, fix loop | Tokens for modeling | about 14k | about 18.4k | about 78.5k | Rendered images | none | none | four | The headline is the difference in temperament. The two Opus 5.5 sessions treated the job as a one-shot generation task and used 14,000 to 18,000 tokens. The Opus 5 session treated it as a modeling loop and used about 78,500 for roughly one and a half times the geometry and a closer silhouette match, at four to five times the cost. Neither is right: it depends on whether you need a quick draft or a close match. ## Lessons that transfer - Viewport screenshots lie. They lagged behind camera changes by one or more steps, so renders written to a file and read back were both more accurate and slightly cheaper (about 150 to 190 tokens per check versus 230 to 250). - Do not reset the scene through the connection. One helper command that reloads the default file killed the MCP server, and the build script failed with a not-connected error. - Ask before inspecting. About 47,000 tokens went into inspecting a pre-existing scene that the user then said to ignore. One clarifying question would have been cheaper. - Check where files are saved. One session saved to the wrong folder the first time. The two GPT runs came from Codex sessions that left their staged scripts and renders but no token tables, so this page shows their output without cost claims. A scoring rubric (silhouette and proportions, reference details, visual coherence, editable organization, each scored zero to five, with a triangle cap) was drafted for a planned, controlled run across five GPT models, but that run had not been done when this page was written. ## Test 2: the island The island prompt asks for a single self-contained HTML file using three.js from a CDN that renders an interactive low-poly 3D scene: procedural island terrain, a stylized water shader, a few trees, a skybox and dynamic lighting with shadows. It must include a third-person character controlled with WASD and Space to jump, with simple camera follow. It should be visually polished, a quality showcase, with only the file as output and no explanation. A second version of the prompt asks for a high-quality non-low-poly look instead. Claude Opus 5.5: Driftwood Isle, with a title card, a time-of-day control, beach, forest and a post-processing pass. Claude Sonnet 5: a working, roughly half-size scene with simple pine trees and a blocky character. GPT-6 Astra: Solstice, an island with a lighthouse, palms, a boat and a dock. GPT-6.1 Sol improving a Sonnet 5 island: Stillwater, with dense forest, a lighthouse and a wooden dock. ## The efficiency audit On September 23, 2026, a separate audit reconstructed three runs from the raw Claude Code session transcripts. Metrics come from per-message usage blocks, de-duplicated by message id, and costs are equivalent first-party API prices (the runs actually used a subscription). The audit’s table: | Sonnet 5 | Opus 5.5 | Opus 5 (snapshot) | Wall clock | 18.5 min | 9.7 min | 29.5+ min | API round trips | 77 | 12 | 48+ | Tool calls | 74 | 20 | 46+ | Tokens processed | 10.68 M | 1.48 M | 5.87 M | Equivalent API cost | $3.45 | $2.95 | $6.93 | File size | 23.8 KB, 692 lines | 43.2 KB, 780 lines | 45.8 KB, 1,146 lines | Cost per KB delivered | $0.145 | $0.068 | $0.155 | ## What the audit found - Front-loading reasoning is cheaper than iterating. Opus 5.5 spent about eight and a half minutes thinking, wrote the whole 43 KB scene in one message and then checked it with a few browser calls. Sonnet 5 wrote a file faster, then spent nine more minutes in a 74-tool-call screenshot-and-patch loop, resending about 135,000 tokens of context on every step. - Turn count, not model tier, set the bill. Sonnet 5 has the lower per-token rate and still cost more, because each extra turn re-reads the whole context. Cache reads were 60 percent of Sonnet 5’s cost and 8 percent of Opus 5.5’s. - Screenshot loops are expensive. Seventeen screenshots across 35 one-at-a-time browser actions each landed in a context that was re-read every turn. Opus 5 ran 89 browser actions but packed them into nine batched calls, so it paid nine re-reads instead of 89. - Feature scan. Opus 5.5 was the only run to add a post-processing pass and particles, the “quality showcase” part of the prompt. The caveats are in the audit too. Only Opus 5.5 ran the prompt start to finish untouched. Sonnet 5 had a pre-task benchmark turn, and Opus 5’s run was interrupted twice and asked to fix a visible bug, so its figures were a live snapshot, not a result. The page states that the feature scan measures presence and density, not visual quality, which you should judge by opening the files. ## What these tests do not show They do not rank models in general. They say nothing about long-running repository work, security or reliability across many runs. They also depend on the harness: a model that does well inside one agent tool can do worse in another, and the cost numbers depend on caching behavior that vendors change. Use them as a template for your own measurement, not as a verdict. ## How to run your own - Write the prompt on one page and freeze it. Add the output location, and say not to look at other examples. - Use a fresh session and an empty folder for each model, with identical tools and settings. Do not run two sessions against the same Blender instance. - Save the raw transcript. Compute tokens by category (fresh input, cache writes, cache reads, output) rather than trusting a summary. - Judge the artifact by opening it, not by reading the model’s description. Score a few fixed criteria and blind the labels if you can. - Record cost per accepted result, including failed attempts, and note any manual repair time separately. - Repeat anything close or surprising. One run proves little. The same habits appear in The vibe-coding workflow, and the usage side of cost is what AgentDashboard was built to watch. To watch these comparisons happen, see the model-comparison streams on the socials page (Days 22, 23 and 24) and the livestream page. For the Nodal angle, including how the agents in the app handle multiple models, read the Nodal benchmarks and Agent Mode pages. ========== # Theatre of War URL: https://thelatebuild.pages.dev/theatre-of-war/ Summary: Theatre of War is an upcoming, not-yet-launched channel idea: sourced conflict explainers with 3D maps and strict editorial rules. Plan, rules and status. An upcoming idea, not a launched channel: sourced conflict explainers, 3D map sequences and strict editorial rules. ## An idea, clearly labeled as an idea Theatre of War is a planned explainer channel about conflict news, and it has not launched. The name is a working title. As of the planning notes dated October 2, 2026, no channel had been created or published. It shows up on stream as a recurring line on the to-do list (“push the Theatre of War project forward”) and in the October 8 go-live announcement, where it is described as a news feed that sits next to the avatar reaction channel. This page records the plan so that its status is clear and so that anyone who wants to follow its progress knows what to expect. It belongs on a creator hub for a simple reason: it uses the same production habits as everything else here. Agents draft and organize, free local tools do the rendering and a human approves anything sensitive. If the plan works, it becomes another independent income stream, and if it does not, the notes will say why. Sources andevidenceScript andnarrationReal footageand 3D mapsEdit andreviewPublish withsources PLANNED PIPELINE (NOT YET PRODUCED) ## The promise The channel’s stated purpose is to explain what changed in a conflict, where it happened, what evidence supports it and how it affects ordinary people and global systems. It would combine concise narration, real footage, clear geographic visuals and measured analysis. The initial coverage in the plan is the Russia–Ukraine war and the Iran, Gulf and Strait of Hormuz situation, with broader politics, shipping, energy, insurance, AI chips and public reactions included only when they connect to those stories. The explicit rule is to avoid turning the channel into a general technology or celebrity news feed. The target audience is defined by need rather than age: people who want a clear explanation without specialist military knowledge. That means explaining acronyms, showing readable place labels, adding captions and making economic consequences concrete. ## Content pillars - Battlefield developments: verified changes in control, strikes and military operations. - Logistics and infrastructure: ports, energy systems, transport, replenishment, shipping and supply chains. - Civilian consequences: displacement, access to utilities, prices, aid and public safety. - Leadership and diplomacy: statements, negotiations, sanctions, protests and public reactions. - Economic consequences: measured changes in energy, freight, insurance and affected industries, with dates and clear sourcing. ## Editorial rules that come first A conflict channel can do real harm if it is careless, so the plan puts the rules before the production. Every episode would follow the same evidence standards for every party. Documented wrongdoing is named precisely; contested allegations are attributed to their source. The plan distinguishes a source’s report of an act, an attribution of responsibility and a formal legal determination, and it refuses to manufacture balance by giving unsupported claims equal weight to well-supported evidence. - Protecting people. Blur every face in combat footage, blur fallen bodies entirely and obscure severe wounds and excessive blood. The owner must approve any sensitive footage. - Labeling. Real footage, illustrative footage and reconstructions are clearly identified, and old B-roll is not passed off as footage of a specific mission. - Provenance. Rights evidence, claim attribution, event dates, publication dates and uncertainty are preserved for each item. - Reactions are illustrations. Public reaction clips show selected responses, not representative opinion. Polling and systematic data are different evidence. - Corrections. Sources and corrections are linked with each episode. ## Episode shape The working pilot is an eight-to-ten-minute weekly recap with three main stories and about 45 to 90 seconds of 3D overall, as a test target and not a quota. A nine-minute pilot would open with a twenty-second hook on the biggest verified change, then headlines and geographic context, a Ukraine block, a Gulf and Hormuz block, a logistics and economics segment, civilian and diplomatic developments and a wrap-up of known facts and open questions. Every story follows the same chain: what changed, necessary context, a geographic explanation, real evidence, what remains uncertain and why it matters. Real footage comes before 3D when the evidence leads the explanation. The provisional rhythm is one weekly recap plus two Shorts drawn from it and a community post asking which coverage viewers want next. These slots are untested hypotheses. The plan says to measure retention, returning viewers, source and correction quality and production time separately before committing to anything faster, such as a daily show. ## The zero-budget constraint The pilot must cost nothing beyond subscriptions that already exist. That means AI narration, free and open-source software, free models and datasets, local rendering and tools already in use, such as DaVinci Resolve and Blender with their MCP connections. Paid options are listed only under future upgrades. No new paid API usage, credits or trials that require payment are allowed. This is the same frugality that runs through the rest of the channel, and it forces creative decisions, such as favoring a 3D globe and a few well-sourced maps over expensive stock footage. ## The 3D map sandbox A significant part of the plan is a small 3D sandbox so that geography can be explained visually. Its central idea is one story file that holds places, tracks of moving units (longitude, latitude, altitude and time), fronts, areas and a shot list, and that is read by two renderers. A browser preview built on the CesiumJS globe renders briefing shots quickly and frame-exact, and an Unreal Engine pipeline can build a detailed georeferenced level for close-ups. Baking real surface heights into each waypoint keeps ships at the waterline. Models are normalized with Blender scripts to real-world size and orientation and exported as glTF, and a registry records each asset’s source and licence. The licensing caveat is written in plain sight. The sandbox’s globe data plan is for non-commercial use, which covers a private pilot, and a paid plan or another data route is needed before monetized publishing. Every model is a temporary third-party asset for the private pilot and is to be replaced or cleared before anything is published. In other words, the sandbox is a prototype, and the notes refuse to treat a pretty render as proof that the channel is ready. ## What would count as success The plan lists a build order: an editorial foundation with coverage boundaries and a source registry, pilot research that traces one week of stories to original sources, a short visual trial that measures quality and render time, a full pilot episode, a brand and launch package, a second episode to measure repeatability and only then selective automation of collection, deduplication, source badges and export. A beautiful 3D world alone does not prove that the channel can ship good coverage efficiently, and the notes say so. Until a pilot is public, the best place to follow progress is the livestream. The avatar reaction videos that share some of the tooling are on the avatar shorts page, the agent workflow is described in The vibe-coding workflow and the broader context is on the about page. Nodal’s own history page shows how earlier plans changed when reality arrived, which is a fair preview of what to expect here. ========== # TikTok and YouTube avatar shorts URL: https://thelatebuild.pages.dev/tiktok-avatar-shorts/ Summary: How The Late Build makes AI avatar reaction shorts for TikTok and YouTube Shorts: the three production lanes, the tools, the labels and the honest results. Reaction videos with a consistent AI host, labeled as AI-generated, made mostly on stream. ## The idea: react videos with an AI host Reaction videos are one of the few short-video formats that a solo creator can produce quickly: take a clip people already care about, add a take, ship it. The Late Build adds one twist. Instead of filming a face-cam reaction for every video, a consistent AI avatar host reacts and speaks, in a synthwave gaming room, over the clip. The avatar wears aviator sunglasses, has a navy blazer and a beard, and always sits in the same neon room, which gives every video the same recognizable look with no filming at all. The videos are posted to three TikTok accounts and to YouTube Shorts, and every one is labeled as AI-generated content on the platform. The avatar host in the synthwave room used as the base frame for reaction videos. A vertical short cover: footage-themed art on top, the avatar below and the channel footer at the bottom. This page documents how the process works in enough detail to be useful and leaves out account credentials and private working files. The newest examples are on the socials page with dates and links, and many are made on camera during the livestream, start to finish, so you can watch the steps below happen. ## The accounts Three TikTok accounts exist, each with a defined role: @thelatebuild (the main channel handle), @realthelatebuild (the avatar channel, with a bio that says “Building apps and games with AI, live most nights”) and @realviralshorties (a separate shorts channel). A standing rule is that account names are never changed after creation. The same videos also go to YouTube Shorts on the main channel, where descriptions carry links to every TikTok account, Discord and the Nodal projects. ## Three production lanes ## Lane 1: silent reaction loop The simplest video uses a pre-made reaction loop: about fifteen seconds of the avatar reacting silently, repaired and looped, placed under a clip. The approved layout is vertical: the source footage on top, the reaction immediately beneath and a branded footer at the bottom with the channel logo and handle. An early large black gap between panels was judged a mistake and replaced. This lane needs no generation at all, which makes it fast and cheap. The first pilots were an old-school visual-effects reaction and a skit that inserted the avatar into a scene from a viral short clip. ## Lane 2: the talking avatar The first talking video, a news short about a solo fighter-jet flight, followed this order: the creator supplies facts and approves a script; the script is chopped into five shots of five seconds or fewer; keyframes (start and end frames for each shot) are generated as image edits of an approved base frame, with the identity references so the face stays consistent; a video model animates each pair of keyframes, including lip-synced speech; the speech is then converted to the creator’s cloned voice with a local voice-conversion model, keeping the original timing; the transcript of every shot is checked against the script; and the shots are assembled with the footage panel in a 1080 by 1920 canvas. The avatar panel is about 1,064 by 608 pixels, the footage panel about 1,080 by 802 and the footer 510 pixels tall. A credit label burned into the footage names the source. ## Lane 3: longer shorts with the creator’s own voice The PS5 versus Sony short (about 40 seconds, nine shots plus a reusable outro) added more polish. The creator records the lines, and the avatar’s lips are re-synced to the real recording using a lip-sync tool, with an alternative route that converts an AI voice with a voice changer. Royalty-free music is mixed about 16 decibels under the voice, burned-in karaoke-style captions appear in the footage panel with key words slightly larger, and a numbered set of cover images lets the creator choose the thumbnail. Two versions were posted (own voice and AI voice) so the audience could vote on which sounded better, a post on X asked them to. The footer card at the bottom of every vertical short: the mascot logo, a Find me on YouTube line and the channel handle. ## Tools, in plain terms Step | What it does | Kind of tool | Script | Turns the creator’s facts into short spoken lines and fact-checks them against the clip. | Claude Code | Keyframes | Generates start and end frames of the avatar in the room. | Image generation through Codex | Animation and speech | Animates the frames and speaks the line with lip sync. | A video generation service on its free tier | Voice | Converts the speech to the creator’s voice, or re-syncs lips to a real recording. | A local voice model, a voice changer service, a lip-sync service | Cleanup and repair | Fixes seams and artifacts in generated clips. | Local inpainting and FFmpeg | Assembly | Builds the layout, captions, music and exports. | FFmpeg, Python scripts, DaVinci Resolve where needed | Transcription check | Verifies every line matches the script. | A local speech-to-text model | Posting | Uploads, captions, AI label and descriptions. | The platforms’ own studios and the YouTube API | The skill that wraps all of this is shared between Claude Code and Codex, so either agent can pick up where the other stopped. A project handoff file records the latest state, so a new session can resume mid-video without asking what was already done. ## Posting rules and honesty - AI label always on. Because the avatar is realistic, TikTok’s AI-generated content switch is turned on for every post and the YouTube altered-content setting is used according to the situation. - Credits. Descriptions list every clip creator by name and link, state that all rights belong to the creators and credit the music with its license (the PS5 short used a track licensed under Creative Commons Attribution). - Confirm before posting. The creator approves the caption, title and description for each post, and each upload is confirmed in chat. The agent never deletes posts: it can set a post private, and the creator deletes it. - Do not change names. Display names and usernames on the accounts are never changed. - Know the limits. A posted video cannot be replaced; a fix means a new upload. Browser automation uploads are capped at 10 MB, so full-quality files are dropped in by hand. - Label what is not real. Generated or restyled footage is labeled as an AI recreation, and scripts say what a source clip does and does not support. ## Why bother? Short video is the cheapest discovery channel for a small streamer, and the Shorts feed also receives the livestream’s vertical output (see the livestream page). An avatar format also solves a practical problem: it lets the same host appear in dozens of videos regardless of lighting, mood or time of day. The cost is the complexity of the pipeline and the need to be transparent about what is synthetic. That tradeoff is the lesson, and it shows up again in the benchmarks: each added tool is a new thing to verify. Results so far are modest and honestly small: the best-performing short in the sample had around 1,200 views on its first days. This page will not claim otherwise. For the broader agent workflow behind these videos see The vibe-coding workflow, and for the sibling idea of a sourced news channel see Theatre of War. ========== # The vibe-coding workflow URL: https://thelatebuild.pages.dev/vibe-coding/ Summary: The real vibe-coding workflow behind The Late Build: Claude Code and Codex agents, sub-agents, a message board, handoff docs, tests and safety rules. Two agents, sub-agents, a message board and a lot of paperwork: the workflow behind every project on this site. ## What “vibe coding” means on this channel Vibe coding, as the stream descriptions put it, is building software by describing what you want in plain English and steering an AI agent. On The Late Build it is not a magic trick. It is a workflow with roles, rules and paperwork, and it works only to the extent that the paperwork is good. This page describes that workflow as it is actually practiced: two kinds of coding agent working side by side, sub-agents for bounded jobs, a message board for coordination, written handoffs for memory, tests before anything is published and a short list of rules that exist because something once went wrong. The creator is explicit about being a newcomer: “I’m not a professional developer or an AI expert,” says the description of the first stream. That is useful for a learning audience, because the failures are visible and the fixes are teachable. Models are rotated and compared live. This Day 24 stream put GPT-6.1 against Claude Opus 5.5 on real coding work. ## Roles: orchestrators, sub-agents and the human ## Two orchestrators in one folder The main work is done by Claude Code and Codex, working in the same folder and often on the same branch at the same time. Each project has a repository file for each agent (a CLAUDE file for one and an AGENTS file for the other, with one pointing at the other), so both receive identical rules. In one project the instruction is blunt: read the handoff file and the original specification before touching anything. The agents share working agreements instead of private memories. ## Sub-agents for separable work For well-scoped, separable jobs the orchestrator spawns sub-agents: a cheaper model for mechanical tasks and a stronger one for hard pieces or reviews, each given its own files. A rule from the project notes is that the orchestrator writes or closely reviews the core code (for example the robot physics in Blunder Blender) and delegates the rest. On another project that involves research and planning, planning delegation uses a high-reasoning mid-tier model by default, a cheaper model for genuinely easy jobs and an expensive top-tier model only after explaining why its contribution is worth the cost, and never for implementation. The principle: spend the strongest model where judgment matters and nowhere else. ## The human The human decides what to build, tests it (often live, on stream) and says yes or no to anything that leaves the machine. Owner confirmation is required before going live, changing a title or thumbnail, posting to chat or social accounts, firing alerts on stream or deleting anything. Permanent deletion is never done by an agent; it can hide or privatize and the owner deletes. Those rules are part of why it is safe to let agents work quickly. ## Coordination: a message board, not a chat When two agents share a repository, they step on each other. The answer built here is AgentBoard, a file-based message board where agents post short notes. Each post, presence record and lock is its own file written only by its author, so simultaneous writes cannot corrupt anything. Agents never read the board directly; they run a small script that prints a few lines, and an empty check costs about 15 tokens, measured. The conventions are short: claim a task at the start of a prompt, post when done, post conflicts and errors, and take a named lock before something exclusive such as running the end-to-end tests, deploying or starting the dev server. Posts are information, not orders: nothing destructive happens because a post asked for it. The approach is explained from the product angle on the Nodal site’s AgentBoard page, and the usage side is shown on the AgentDashboard page. ## Memory lives in documents Agents forget between sessions, so the project has to remember for them. - Handoff files state where things stand, what to ask next and what to watch for, with the live build identifier. A new session reads it first. - Runbooks record how things are wired, including every gotcha already hit. The stream’s setup reference, for example, has a section called “don’t rediscover these.” - Specs hold the original intent so that a later session can tell a bug from a decision. - Skills hold repeatable procedures, such as the livestream operating checklist or the avatar video pipeline. They are installed once and shared by both agents through a linked folder, and a check script reports whether the two copies are linked, identical or different (and never overwrites on a mismatch). - Backups before changes. Before a risky update, the old version of the file or configuration is copied aside with a date, and the change report says where. The practical test of any document is: could a stranger resume the work from it? If not, it is not done. ## Checks that do not depend on the model’s word - Tests first, deploy second. In the robot game, publishing is allowed only through a script that runs after the browser tests and a fuzz script pass, and the deploy is gated on the actual test result, not on a pipe that can swallow a failure. - Reference implementations. The Game of Life engine is compared against a naive implementation. The netcode in Nodal Strike asserts bit-identical prediction. - Read the artifact. A model’s description of what it built is not evidence. The benchmarks measure from transcripts and open the files. - Cheap evidence. A rendered image read from disk costs fewer tokens than a viewport screenshot and is more accurate, as one Blender session found. - Change reports in a fixed format. Every change ends with the version hash and a list of what changed in the tuning panel and what each change does. ## Prompts that work - Give the goal and the constraint in the same breath. “Model this spaceship in a low-poly style” with a reference image beats a paragraph of adjectives. - Settle the hosting and login constraints before building. A lesson from the usage notes: discover the free-tier limits, the login flow and the deployment target first, because they change the architecture. - Prefer free local automation. The same notes favor local tools over paid services whenever the output is good enough. - Ask a question when the scene is not clean. One benchmark session burned about 47,000 tokens inspecting an old scene it was later told to ignore. - Batch actions. Many small tool calls cost more than a few batched ones, because every call re-reads the context. - Keep reply style short. A project can mandate simplified technical English (short sentences, one idea each, the same word for the same thing). It is a surprisingly effective way to keep agent output readable. ## Failure modes we keep hitting - Edits by slicing. Replacing code between two markers with a script once deleted a function and crashed a game profile. Use exact search-and-replace and run tests. - Stale copies. A desktop app silently ran a cached copy of a plugin, so edits did not show until the version was bumped and the plugin updated. - Credentials in tool output. An agent can print something it should not. Keep credentials out of files agents read, and replace anything that was exposed. - Collisions. A different session grabbed a local port that the stream needed. Locks and the board exist for this. - Silent permission walls. An agent’s stop and start commands were denied by the permission classifier during a stream drop, so the human did the recovery. Decide in advance which actions an agent may take alone. - Optimizing the wrong thing. Long screenshot-and-patch loops cost seven times the tokens of a thoughtful single pass in one test. ## A day in the loop A typical block of stream time looks like this. The creator states a goal and a constraint in chat, such as adding a feature to a game without breaking its tests. An orchestrator agent reads the handoff file, claims the work on the board, and either does it directly or splits it among sub-agents. Tests and a preview run. The creator looks at the result, often live, and either accepts it, asks for a change or throws it away. The agent updates the handoff and posts that it is done. Then the next block starts from the written state, not from anyone’s memory. Repeat for four hours. ## Where the tools come from This workflow is the reason Nodal exists. Agent Mode gives a Codex-like experience across providers, Tab Mode hosts terminal agents, and the Notification Center lets you answer an agent from anywhere. The history page tells how the original plan, a document with five pages of five to eight agents each, collapsed into a lean product after experience arrived. And the central lesson, that ideas are cheap, applies here too: the leverage is not in the prompt, it is in the loop around it. To see the loop working, join the livestream, skim the projects or ask a question in Discord. ========== # Frequently asked questions URL: https://thelatebuild.pages.dev/faq/ Summary: Answers about The Late Build: the livestream schedule, vibe coding tools, Nodal and Nodal Play, the games, avatar shorts, benchmarks and earnings. Quick answers about the stream, the games, the projects and how this site works. Short answers to the questions that come up most, with links to the longer pages. If something is not covered here, ask in Discord or in chat during a stream. ## Questions and answers What is The Late Build?The Late Build is a creator hub and livestream run under the handle vAlentino718. It livestreams building software, games and short videos with AI coding agents, mostly in the evening and at night Eastern time, on YouTube and Twitch at the same time. See the about page and the livestream page. Who runs it?A creator who goes by vAlentino718, also known as The Late Build. The site deliberately uses the handle only and does not publish a real name or personal details. When are the streams?There is no fixed weekly schedule. The channel banner says “live most nights,” and recent sessions began in the late afternoon or evening Eastern time and ran from one to several hours. Go-live posts appear on X and in Discord. See the dated list of recordings. Where can I watch?Live on Twitch or YouTube; both carry the same stream. Recordings stay public on YouTube. Short videos are on TikTok and YouTube Shorts. Is the stream a coding tutorial?Not exactly. It is a working session with commentary: you see prompts, agent output, mistakes and fixes. It teaches the workflow and the failure modes more than syntax. The vibe-coding workflow page explains the method. What is vibe coding?Building software by describing what you want in plain language and steering an AI agent, instead of writing every line by hand. On this channel it also means a lot of reviewing, testing and documenting, because the agent needs a project it can understand. Which AI tools are used?Claude Code and Codex are the main coding agents, with models such as Claude Opus 5.5 and GPT-6.1 Sol compared on stream. Other tools include Cursor, Blender with an MCP connection, DaVinci Resolve for editing and image and voice tools for the avatar shorts. The benchmarks page compares several models. Is Nodal the same thing as The Late Build?No. Nodal is the agent workspace app that the channel started with. Its product site is at nodal-ide.pages.dev. The Late Build is the stream, games and experiments around it. The two sites link to each other, and the Nodal history page tells how the original plan changed. What is Nodal Play?A community arcade for streamers: viewers open a URL, see a streamer’s open room and press JOIN, and the streamer launches everyone into a game or starts a vote. It is at version 0.1. Read the Nodal Play page or open the arcade. Can I play Nodal Strike without an account?Yes for the standalone game: you can play offline against bots or join a room by code at its own address. Inside Nodal Play, access depends on a per-game setting (Discord-linked account or any signed-in guest) that has changed during the beta, so check the arcade for the current rule. See Nodal Strike. Can my game be on Nodal Play?Possibly. A compatible game reads a room and a name from the address, validates them, and, if embedded, posts two small messages to the platform. The contract is documented on the Nodal Play page. A packaged agent skill to add it is planned but not shipped. Is Blunder Blender playable?It is a prototype. A single-player copy is listed in Nodal Play with a beta tag, and the public site may show an under-construction screen while the game is being reworked. Multiplayer is planned. See Blunder Blender. Which Game of Life is which?The version built with ChatGPT is a React workspace with nine tools and five rule presets; the version built with Claude is a single HTML file with 1,256 measured patterns. Both are compared on the Game of Life page. Are the avatar videos real?No. The host is an AI-generated avatar, and each short is labeled as AI-generated content on the platform. The clips it reacts to are real and credited to their creators. See avatar shorts. Is Theatre of War a real channel?Not yet. It is a planned conflict-explainer channel; at the time of writing no channel had been published, and the name is a working title. The Theatre of War page describes the plan and its editorial rules. Does the stream make money?Not yet. Titles carry an “Earned” counter that read $0.00 as of October 12, 2026, and the YouTube channel had fewer than 200 subscribers. A tip link exists on the socials page and is optional. Are the chat messages on this site real?No. The scrolling chat on the home page is a decoration with made-up usernames and messages. Real viewers are never named on this site. How are the benchmark numbers measured?From raw agent session transcripts, using the usage data in each message, with costs at equivalent API prices (the runs used a subscription). They are single runs, so treat them as anecdotes with numbers, not rankings. See benchmarks. Where do I report a bug or ask a question?In the Discord, or in chat during a stream. Bugs for the games have their own channel there. Can AI assistants and search engines read this site?Yes. Every page is static HTML with the text in the page itself, a sitemap lists them all, and plain-text summaries are available at llms.txt and llms-full.txt. ## More than a quick answer Several answers above have long-form pages. The livestream page covers the format, tools and schedule notes in full. The games index compares the three game projects, while projects covers the tools and web apps. If you want to understand how the work is done rather than what it is, start with the vibe-coding workflow and then read the benchmarks, which show the same habits applied to model comparison. A few notes on how this site treats information may help. Everything here comes from project notes, repositories, stream descriptions and public posts, and where something is unfinished the page says so. Numbers have dates. Where a figure comes from a single run, the page says it is a single run. Third-party clips and music are credited where they are used, and private details such as account credentials, personal contact information and local file locations are not published. Chat examples are invented. If you find a mistake, say so in Discord and it will be corrected. ## Related products The Nodal product site has its own FAQ-style pages: Agent Mode, Tab Mode, Notification Center, AgentBoard, benchmarks and history.