Portfolio / Case study

Bad Streams

Tamper-proof, real-time ad delivery inside a live stream. Influencer advertising is built on enforcement, not trust.

Client
New Zealand · AdTech
Sector
Live Streaming · Advertising
Type
Full-stack SaaS
Platforms
Kick · Twitch · OBS
Abstract

Bad Streams is a full-stack SaaS platform built by CodeREM Labs that connects brands with live streamers on platforms like Kick and Twitch, delivering tamper-proof ads directly inside a streamer's broadcast, with built-in analytics and proof of play. Rather than trusting that an ad ran correctly, Bad Streams enforces the exact position, scale, visibility and layer order of every ad asset, every single second, snapping it back automatically within one second if it's tampered with.

01 · The challenge

Influencer ads run entirely on trust.

Traditional influencer ad deals rely entirely on trust: brands pay streamers upfront and hope the ad runs correctly, at the right time, in the right position. There is no mechanism to verify placement, enforce creative specs or measure real delivery.

Streamers can move, resize, hide or reorder ad overlays with no accountability, and brands have zero visibility into whether their campaigns are actually delivered as agreed. The result is wasted ad spend and broken trust on both sides of the deal.

02 · Approach

Replace trust with enforcement and proof.

A brand-side studio to configure the campaign, a zero-install overlay for streamers, and per-second enforcement with screenshot-backed proof.

  1. Built a brand-side campaign management system with drag-and-drop ad positioning on a 1920×1080 virtual canvas, opacity control, z-index ordering and 300 ms debounce autosave.
  2. Engineered a zero-install streamer experience: on approval, streamers get a unique signed overlay URL they add as an OBS browser source in under 60 seconds, no plugins or scripts.
  3. Implemented tamper-proof enforcement via OBS WebSocket v5 with SHA-256 HMAC auth, every second it enforces the advertiser's exact position, scale, visibility and layer order, snapping back changes within one second.
  4. Developed Proof of Play: full OBS scene screenshots captured every 30 seconds via GetSourceScreenshot, stored server-side alongside live/offline detection and viewer analytics from the Kick.com Public API.
  5. Built staleness detection with a 90-second heartbeat freshness window, so stale data shows as offline rather than misleading, brands always see accurate delivery status.

03 · The platform

Every second, enforced.

Bad Streams enforces the exact position, scale, visibility and layer order of ad assets every single second, and proves it with server-side screenshots.

01

Brand campaign studio

Drag-and-drop ad positioning on a 1920×1080 virtual canvas with opacity, z-index ordering and 300 ms debounce autosave, brands set the rules exactly.

02

Zero-install onboarding

Approved streamers add a single signed browser-source URL to OBS and go live in under a minute, no extension, no desktop app, no extra software.

03

Tamper-proof enforcement

Over OBS WebSocket v5 with SHA-256 HMAC auth, the exact position, scale, visibility and layer order are enforced every second, changes snap back within one.

04

Proof of play

Full OBS scene screenshots are captured every 30 seconds via GetSourceScreenshot and stored server-side, verifiable evidence the ad actually ran.

05

Real-time analytics

OBS connection status, live/offline detection and viewer counts are tracked per streamer in real time via the Kick.com Public API.

06

Staleness detection

A 90-second heartbeat freshness window means stale data is shown as offline, never as a misleading "live", accuracy brands can act on.

Product view

Inside the product.

A few of the real screens we shipped. Browse with the arrows or dots — click the front screen to open it full screen.

Snapped back within a second, proven every thirty, advertising you can actually verify.

04 · Results & impact

Verifiable delivery, end to end.

<1s

Enforcement latency

Tampered ad placements snap back to the advertiser-configured position within one second.

30s

Proof of play

Full OBS scene screenshots are captured and stored server-side every 30 seconds.

<60s

Streamer setup

Zero-install onboarding, streamers add one browser-source URL to OBS and they're live.

Live

Real-time analytics

OBS connection status, stream live/offline detection and viewer counts tracked per streamer in real time.

05 · Engineering

One HTML page, doing the impossible.

The overlay is a single HTML page served by Django and loaded as a browser source inside OBS, running entirely in OBS's embedded Chromium engine, no extension, no desktop app, no extra software. It polls the Django API every 3 seconds for campaign state and holds a persistent WebSocket to OBS for enforcement and screenshot capture, while all analytics flow back through overlay-token-authenticated endpoints.

PythonDjango 5.2Django REST FrameworkHTMXTailwind CSSPostgreSQLOBS WebSocket v5Kick.com API

06 · Outcome

From "hope it ran" to "here's the screenshot."

Bad Streams removes the uncertainty that defined influencer advertising. Brands no longer pay and hope, they configure a campaign once and the platform enforces it every second and proves it every thirty, snapping back any tampering within a second.

For streamers, it's a 60-second, zero-install setup. For brands, it's the first time in-stream advertising comes with verifiable, screenshot-backed delivery, turning a trust problem into an accountable, measurable channel.

Cite this case studyCodeREM Labs (2026). Bad Streams: Tamper-proof, real-time in-stream ad delivery with proof of play. CodeREM Labs Product Case Studies. Available at coderemlabs.com/portfolio.

Building something that has to be provable?

Well begun is half done.

Free consultation · No commitment required · Response within 24h · Global availability