// featured technical case study · 2026

The TV hosts.
Phones scheme.

Make Enemies turns a living room into a spiteful game show. The television owns the spectacle, each phone keeps choices private, and one realtime room authority keeps the chaos legible.

Make Enemies television stage with SAVAGE introducing the show
Product problem
Party games make one screen do too much.
Interaction model
Public television, private phones.
Room authority
One Durable Object per live game.
Delivery
Web, Fire TV, Android TV, and Roku.

// product decision

One room.
Two interfaces.

The television is not a stretched phone app. It is the stage, timer, scoreboard, narrator, and shared source of truth. Phones handle joining, secret choices, accusations, and the occasional betrayal.

01 · TelevisionShow the room what everyone may know.

Round framing, host performance, prompts, reveals, scores, and transitions stay public.

02 · PhoneKeep every consequential choice private.

Joining, voting, writing, targeting, and confirmation happen in the player’s hand.

// realtime architecture

A room is a small, durable machine.

Every game room maps to one Cloudflare Durable Object. That object owns phase, timers, connected players, submissions, scoring, and the event stream. Clients render the state; they do not negotiate reality among themselves.

Make Enemies Lie to Me round with player answers, votes, scores, timer, and SAVAGE

// host as product system

SAVAGE keeps thirty modes sounding like one show.

The host is not decorative flavor text. SAVAGE introduces modes, calls players by name, explains the next action, reads outcomes, breaks ties, and carries one editorial voice through every state change.

  • Mode-specific intros and transition lines
  • Player-aware reactions and result narration
  • Shared timing rules for speech, captions, and animation
  • Fallback copy when audio is unavailable or late

// the show layer

Every state earns a broadcast-ready frame.

Scores and videos are not utility panels dropped onto a television. Each state gets a readable composition, a clear focal point, and enough theatrical excess to feel intentional.

Make Enemies biggest enemy results screen with live scores and confetti
Results remain readable across a crowded room.
Make Enemies Re:Dub round showing a captioned video clip
Media modes share the same stage grammar.

// implementation

Shared game logic, platform-specific delivery.

The browser client carries most of the product. Capacitor packages the phone and Android TV surfaces, Fire TV gets remote-aware behavior, and Roku work keeps its platform constraints explicit instead of pretending every television is a large browser.

  • React 19
  • Vite 8
  • TypeScript
  • Cloudflare Workers
  • Durable Objects
  • WebSockets
  • Capacitor 8
  • Android TV
  • Fire TV
  • Roku