Stream Empire
Framework mockup · 2026-07-19

One rewards graph.
Many verticals.

Every site in the network reads the same cross-platform collectibles graph and renders a different slice of it. Same components, same design tokens, same SEO machinery — only the templates change. These mockups are two verticals built from one stylesheet.

109Live campaigns
1,817Campaigns tracked
7Domains in hand
1Shared stylesheet
Review note Real data — the drops figures above and every campaign in the streamdrops mockup come from the live twitchdrops.app scrape (1,817 campaigns). Badge data is representative. Purple-bordered notes like this one are review annotations and would not ship.

The two demo verticals

2 of 7 built

Why they share a graph

One collectible spine

A Twitch Drop reward, a subscriber badge, and a channel emote are the same kind of object: a collectible, granted by a campaign, on a platform, with an acquisition rule and a time window. Model that once and every vertical is a query, not a new codebase.

It also makes links no competitor can make. Dead by Daylight is currently running a drop whose reward is a badge — so the drops page and the badge page are two views of one row in the graph:

🏅 Camper's Shelter Badge drop reward → badge · appears on both sites see it →

Ingest once, serve everywhere

scraper
  └─▶ ingest Worker
        ├─▶ D1  canonical graph
        ├─▶ KV  hot per-entity JSON
        └─▶ R2  raw snapshots

streamdrops   ─┐
streambadges  ─┼─▶ same D1 + KV
streamemotes  ─┘

Hourly data changes never trigger a rebuild. SEO pages render on request and edge-cache for minutes, so crawlers always see fresh numbers in the HTML.

Feature modules

shared packages · composed per vertical

@se/track

One watchlist across every site. Star a game on drops, it follows you to badges.

all verticals

@se/planner

Watch-time math: what to watch, how long, in what order — before deadlines hit.

drops

@se/alerts

Push, Discord, email, iCal — one preference set, every vertical can trigger it.

all verticals

@se/collection

Owned / missing / progress state for any collectible type — badges today, emotes next.

badges · emotes

@se/mobile-shell

Bottom tab bar, PWA install, safe areas, swipe rails. Open this page on your phone.

all verticals

@se/overlays

OBS browser sources and chatbot endpoints generated from the same graph.

drops · badges
Try the modules live Track buttons, the watch planner and alert switches are working UI in these mockups — visit My Tracker or tap ★ on any campaign.

Shared design system

one stylesheet · both verticals

Rarity & status language

Identical tokens render drops, badges and emotes — so the network feels like one product.

Common Uncommon Rare Epic Legendary
Live now Ends in 4h Upcoming Account link required Expired
What this proves Both verticals below load the exact same /assets/se.css. Nothing is per-site except the page templates and the data query — which is the whole framework claim.