Inspiration
Advertising usually treats the audience as the product while giving them no stake in the value they create. We wanted to explore a different model: a live marketplace where brands compete for attention, AI creates the ads, and listeners earn rewards for proving they engaged.
## What it does
Slopstream is a live, infinite advertising stream.
Brands bid for upcoming ad slots. The winning brief is turned into an ad by an AI generation pipeline and played on a shared screen. Listeners join by scanning a QR code, answer private attention challenges, and earn a share of the reward pool when the audience reaches the required attention threshold.
## How we built it
We built the system as three cooperating lanes:
A generation lane that turns brand briefs into scripts, voice, images, and video.
A backend lane that owns auctions, listener sessions, challenges, verification, balances, and clearing.
A web/orchestration lane that runs the live scheduler, WebSocket gateway, big-screen experience, listener client, and brand console.
The lanes share a typed TypeScript contract. The web experience uses Next.js, React, Framer Motion, and Three.js for the fluid 3D visual world. A gateway provides one ordered live-event stream, while REST remains the authoritative source for commands and state.
## Challenges we ran into
The hardest part was coordinating asynchronous generation, playback, challenge timing, audience thresholds, and reward settlement without allowing duplicate events or double refunds.
We also had to preserve the privacy boundary around attention proofs: the browser should never receive the answer, and public events should expose only aggregate information. Reconnects, stale WebSocket events, failed generation, and retry-safe lifecycle transitions all required explicit handling.
## Accomplishments that we're proud of
We built a working end-to-end vertical slice: a bid can win a slot, generate an asset, play on the screen, fire attention challenges, verify listener responses, and clear or refund the bid.
We are especially proud of:
A live 3D “fluid world” that reacts to bids, generation, attention, and clearing.
QR-based listener joining with a mobile challenge experience.
A single ordered WebSocket event stream with snapshot recovery.
Server-authoritative proof timing and idempotent settlement.
Configuration validation, service authentication, and recovery behavior.
70 passing tests, workspace typechecking, and a successful production build.
## What we learned
The most important lesson was that the event stream is a projection, not the source of truth. Money, proof results, and lifecycle state must be persisted and validated before they become visual events.
We also learned that the attention mechanic is more compelling when it is visible as a collective event: listeners are not just completing isolated quizzes; they are helping unlock value for the whole audience.
Finally, we learned to frame the concept as “rewards funded by verified attention” rather than casually claiming to share advertising revenue, until the legal and payment model is fully validated.
## What's next for Slopstream
Next we would replace the in-memory prototype with Postgres and durable Redis infrastructure, connect real Stripe payout flows, and implement the Midnight proof contract.
We would also add stronger listener anti-fraud measures, production-grade brand authentication, browser end-to-end tests, real audio analysis and playback controls, campaign analytics, and richer targeting and bidding tools.
Built With
- ai
- daytona
- framer
- generation
- next.js
- node.js
- react
- three.js
- typescript
- vitest
- websockets
Log in or sign up for Devpost to join the conversation.