The Delulu Blog

Launching MultiStream.cc
Watch Twitch and Kick Together

MultiStream.cc title beside side-by-side Twitch and Kick live stream players on a dark background

If you have ever tried to follow a tournament, a co-stream lineup, or a watch party across Twitch and Kick at the same time, you already know the friction: six tabs, three platforms, volume fighting itself, and a group chat asking which link to open next.

We built MultiStream.cc to remove that friction — one page, every stream visible, a URL you can paste into Discord and everyone lands on the same layout.

Why we built it

The original MultiTwitch project solved half the problem years ago: pack multiple Twitch embeds into a viewport-sized grid and let viewers share a single link. It became the default tool for speedrun watch parties and multi-caster events because the interface stayed out of the way.

Two things changed since then. Kick became a real second platform for live streaming, and the old MultiTwitch codebase was never designed to maintain two embed systems, responsive chat layouts, and modern mobile behavior at once. Rather than fork something fragile, we rebuilt the idea from scratch — same grid-packing logic, new platform adapters, and a codebase small enough to actually maintain.

MultiStream.cc is the result: a Design Delulu Labs product, live at version 0.1.0, intentionally scoped to do one job well.

What it does

At its core, MultiStream.cc is a lightweight multi-stream viewer. You add Twitch and Kick channels, and the page arranges every player in the largest possible 16:9 grid that still fits on screen — the same packing approach MultiTwitch pioneered, updated for wider viewports and optional chat.

Performance depends on how many live embeds you open — each stream is a full platform player. Fewer streams means smoother playback, especially on laptops and phones. That is a platform constraint, not something a wrapper can magically fix, but the layout is designed to keep every stream as large as your screen allows.

How to use it

The fastest path is the toolbar: pick Twitch or Kick, enter a username (or paste a full channel URL), and add. Each stream appears in the grid with its own remove button. Volume lives in each platform's native player UI — cross-origin embeds do not expose volume APIs to the parent page, so there is no master mute slider.

For watch parties, path URLs are the feature that matters. Build a lineup in the address bar:

https://multistream.cc/t:streamer1/t:streamer2/k:streamer3

Use t: for Twitch and k: for Kick. Legacy uppercase prefixes and older query-string formats still work, but the path style is the one worth bookmarking — it is readable, shareable, and survives a copy-paste into chat without breaking.

You enterResult
Plain username + Twitch selectedTwitch channel
Plain username + Kick selectedKick channel
t:username or k:usernameThat platform (overrides the toggle)
twitch.tv/username or kick.com/usernamePlatform detected from the URL

On desktop, the optional Twitch chat panel docks beside the grid — it resizes the stream layout instead of overlaying players, because clipped Twitch embeds pause when they think they are off-screen. On phones, chat hides entirely and streams scroll in a single column where touch targets stay large enough to use comfortably.

What we intentionally kept small

MultiStream.cc is vanilla TypeScript and Vite — no React, no server, no user database. Each platform is a small adapter file (parseInput, buildEmbedUrl) registered in a shared grid and state layer. Adding a third platform later means adding one adapter, not rewriting the viewer.

That scope discipline is deliberate. Most multi-stream tools either rot quietly or sprawl into features nobody asked for. We shipped the viewer first: grid, URLs, chat, mobile behavior, DreamHost-ready static output. Everything else waits until someone actually needs it.

The project is open source under MIT at github.com/designdelulu/multistream if you want to inspect the embed notes, device matrix, or deployment steps.

Open MultiStream.cc

Research Confidence

This article is based on:

  • Direct design and implementation of MultiStream.cc v0.1.0 by Design Delulu Labs
  • Twitch and Kick official embed documentation and observed player behavior across desktop, tablet, and phone layouts
  • The original MultiTwitch grid-packing approach (bhamrick/multitwitch) as architectural reference, not copied code
  • Device compatibility notes from live testing — performance limits with many simultaneous embeds remain a known constraint

Confidence Level: Experimental

FAQ

What streaming platforms does MultiStream.cc support?

MultiStream.cc supports Twitch and Kick live streams on the same page. Each platform uses its official embed player inside a responsive grid.

Is MultiStream.cc free to use?

Yes. MultiStream.cc is free, runs entirely in your browser, and requires no account or backend signup. You add channels from the toolbar or open a shareable URL with your lineup already configured.

How do shareable MultiStream.cc URLs work?

Add streams to the URL path using t: for Twitch and k: for Kick — for example, multistream.cc/t:username/k:username. Legacy uppercase prefixes and query URLs still work. Anyone who opens the link sees the same lineup.

Why do streams start muted on MultiStream.cc?

Browsers block unmuted autoplay on pages with multiple embeds. Every stream boots muted so the grid can load reliably. Unmute from each platform's own player controls after the page loads.

Does MultiStream.cc include Kick chat?

No. The optional chat sidebar is Twitch-only, because Kick does not offer an official chat embed. Chat appears on desktop and tablet layouts and is hidden on phones, where streams stack in a single column.

Building something that needs to ship, not sprawl?

That is the same discipline behind our client work. Start with a free Marketing Audit and we will map what actually moves your business.

Free Marketing Audit Or book a strategy call

Ready to turn attention into customers?

Free Marketing Audit