Ben Found TV
Retro broadcast-TV styled site for DJ Ben Found, with live-stream detection, auto-pulled mixes and gigs, and an in-browser tool for generating on-brand social and stream video.

Ben Found TV (BFTV) is a personal project: a site for my own DJ alias, framed as a retro broadcast TV channel rather than a typical DJ landing page — a CRT-green channel guide with "transmissions" (CH.01 Video, CH.02 Mix, CH.03 Gigs, CH.04 Follow) instead of a nav bar.
Keeping it updated needed to cost nothing: no admin panel to log into, no manual re-uploading graphics for every gig or mix. So most of the site pulls its own content automatically, and the one manual part — making promo graphics — got its own purpose-built tool instead of a trip to an external design app.
What we did
No live-stream visibility, and content that would inevitably go stale without manual updates.
The homepage pulls its own data server-side on every load: latest Mixcloud mix, latest YouTube video, and upcoming gigs from a small JSON file. Live detection works by treating Mixcloud's reserved "listen-live" slug as an ordinary cloudcast lookup — a 404 means offline, a real cloudcast means live — so a "LIVE NOW" banner appears the moment a stream starts, with nothing to toggle by hand.
Manual, external graphic design for every social post, with no consistent visual identity.
Built "Studio": an in-browser tool that renders animated, on-brand 1080x1920 video templates (gig announcements, new-mix drops, profile assets) straight onto a canvas, then encodes them to MP4 client-side with ffmpeg.wasm. No upload, no server, no external app — fill in the text and export.
The live-stream visuals were disconnected from the site and social content's visual identity.
Extended the same canvas-based rendering system to generate OBS browser-source overlays — a CRT scanline overlay and a pulsing logo animation — so the stream, the website, and every promo video share one hand-built look.
The Results
BFTV runs itself day to day: the homepage always reflects the latest mix, video and live status without any manual editing, and social/stream graphics that used to mean opening a design tool now take a few seconds inside the site itself.
Built with SvelteKit 5 and TypeScript, using the Mixcloud and YouTube APIs for content, the Canvas 2D API for all on-brand rendering, and ffmpeg.wasm for fully client-side video export.