Bytestream is a cinema-first live-TV player. One codebase targets web, iOS, and Android, and it is live at bytestream.tv.
The repository directory, the GitHub repository, the iOS bundle identifier, the Vercel project, and every persisted browser-storage key still read atlas, on purpose. See Onboarding and the Architecture page’s storage keys section for why.

A name with history

The product was called Atlas until 2026-09-11, and ACTR.TV for the rest of that day — actr.tv still serves the same build. It settled on Bytestream. Atlas is also, separately, the name of the in-app destination that lists every country in the catalog, and it keeps that name.

Stack

Expo SDK 57

Managed workflow, one codebase for web, iOS, and Android.

Expo Router

File-based navigation across all three platforms.

TypeScript

The entire app, worker, and job scripts.

pnpm

The only supported package manager — the lockfile and patchedDependencies are pnpm’s.
Behind the client: Supabase for the catalog and user data, Clerk for sign-in, a small Cloudflare Worker that relays a handful of CORS-blocked live streams, and Vercel for the static web deploy. Every one of those is optional at runtime — see Quickstart for what anonymous, zero-env mode actually means.

Where to go next

Quickstart

Clone it, install it, watch something in a few minutes.

Onboarding

The checklist for a new collaborator’s first session.

Architecture

How the app, the database, and the relay fit together.