NeverEndingBuild is live: a crowd builds the app, you hold the controller
NeverEndingBuild is a channel where an AI builds a real, working app in front of an audience, and the audience decides what it builds next. Pick a goal, hit go, and a roomful of strangers vote the thing into existence one feature at a time. The app runs the whole way through. No mockups, no slideshow, no "imagine if". You are watching software get built in front of you, by committee, at speed.
Everyone watching gets a say. Vote on the next feature, or super-vote to throw your weight behind it and drag the build your way. Fancy a scoreboard? Vote it up. Want to take a tidy little platformer and turn it into tower defence? Super-vote the pivot and watch the AI rip it up and start again. The crowd does not just heckle the build. It runs it.
What a crowd actually makes
Point a channel at "build a 2D side-scrolling fight game" and turn the votes loose. Here is what came back:

A real, playable game, running live: pixel fighters on a neon skyline, health bars, a hit-combo meter, double-jump, sound. Nobody wrote a spec. Every feature on screen started life as a vote, from the combos to the sprites to the punch-and-kick audio to the parallax city. A roomful of strangers turned one line of intent into a game, and every step shipped for real.
How a build happens
Each channel runs a simple loop:
- The crowd votes on a short menu of what to build next.
- An AI orchestrator reads the winning vote and the mood of the room, and turns it into one clean build instruction.
- v0 generates a fresh, hosted version of the app and hands back a live URL.
- The new build drops into the channel, and the next vote opens.
Super-votes top up the build budget, so the features the crowd genuinely wants are the ones that get built next.

The channel page is made for watching: the live app up top, a running log of every build that has shipped, the current vote, and the chat going off alongside it.
Start your own

The lobby shows what is building right now. Drop into a channel, or start your own: give it a goal and hand the wheel to whoever turns up. A few that work well:
- a 2D side-scrolling fight game
- a multiplayer drawing toy
- a roguelike dungeon crawler
- a neon synth pad you can jam on
Inspiration
Live build streams are everywhere and good fun to watch, but the audience is stuck in the back seat. You can cheer, you can backseat-drive in the chat, you never actually touch the keyboard. AI builders like v0 had quietly made the other half real: describe a thing and a working version of it appears in minutes. NeverEndingBuild is what happens when you introduce those two ideas to each other. Take the energy of a live coding stream, give the chat the keyboard, and let an AI do the typing. It is closer to a Twitch stream where the chat is the dev team than to anything you would build on your own.
It was built for H0, "Hack the Zero Stack", whose brief is a Vercel v0 frontend paired with an AWS database. NeverEndingBuild is entered in the Million-scale track, for social and entertainment built to run at global scale, with a tilt at Most Original and Best Technical Implementation. A crowd-steered build loop that hosts its own output is an odd enough shape to stand out on originality, and it leans on both v0 and DynamoDB doing genuine work rather than turning up as logos on a slide.
Under the hood
Two decisions do most of the heavy lifting.
v0 as a build engine, not a dev tool. Most people use v0 to knock out a component and paste it into their editor. NeverEndingBuild runs the v0 Platform API as a live build engine on a loop: every winning vote fires a real generation that v0 compiles, hosts, and serves from its own origin. No custom sandbox, no container farm, no working out how to safely run code that strangers on the internet just asked for. v0 hands back a URL and the channel swaps it in. Generative AI as on-demand compute, with an audience holding the controls.
DynamoDB as the firehose. A live channel is a constant churn of small writes, and four streams dominate. DynamoDB earns its keep on every one of them.
- Presence. Every viewer's browser checks in every few seconds, and the moment someone wanders off their presence should simply disappear. Native TTL does exactly that: each heartbeat writes a row that expires on its own, so the live viewer count stays honest with no cleanup job to run on a timer.
- Chat. Fast, throwaway, and only ever read as "the last few messages on this channel". High-volume writes stay cheap, recent messages come back in one keyed read, and TTL clears the backlog quietly so the table never bloats.
- Votes. A round can take a flurry of votes in seconds, one per person, and a super-vote carries real weight behind an option. Conditional writes enforce one vote per viewer, and atomic updates keep the tally exact even when a round gets frantic. No locks to manage, no lost votes, no drift.
- Build steps. Every shipped build appends to a log that doubles as the orchestrator's memory of what already exists. Append-only, read newest-first, always scoped to a single channel. That is a sort-key query and nothing more.
The thread running through all four is locality: everything for a channel sits under one key, so the whole live state of a broadcast comes back in a single fast read, at any write volume, with nothing to provision and nothing to babysit.
Aurora DSQL nearly had this one. It is a genuinely lovely piece of kit, distributed Postgres with real transactions and proper SQL, and the moment NeverEndingBuild needs to slice across channels or run anything that looks like analytics, that is where it will go. But a live channel is not a relational problem. It is a per-channel firehose of disposable writes, and the features that won it for DynamoDB are the ones DSQL does not put front and centre: row-level TTL that retires presence and chat for free, single-digit-millisecond key access that does not flinch however hard you hammer it, and pay-per-request pricing with no instance to size and no connection pool to keep warm in front of serverless functions. Right tool for the shape of the problem.
The rest is Next.js 16 on Vercel, with Vercel Cron driving the build loop and realtime fanning out to every viewer over server-sent events.
It's live
NeverEndingBuild is live at neverendingbuild.com. Go and watch a crowd build something, or start a channel and find out what the internet does with your idea.
You control the agents. The world watches.
Built for #H0Hackathon on Vercel v0 and AWS DynamoDB.