Roku Channel Suite
Roku TV channels and the streaming backends behind them
A body of work for the living-room screen: five Roku channels built in BrightScript and SceneGraph, and the backend services that feed them, developed in one workspace with its own tooling to scaffold, package, sideload and screenshot a channel on a real device.
Fast Browser brings web, video and image search to the TV, with a reader view that strips an article down to clean, readable text. JustWatch is a short-drama streaming channel with a hero banner and rows of episodes. Music plays from Audiomack through its data API, and a YouTube Music channel runs as a personal development build. RokuGames collects three remote-friendly games — Onet Classic, Emoji Words and Alphabet Adventure.
The channels are built on Roku's own platform: SceneGraph row lists and grids for the interface, native video and audio playback, voice search, deep links into specific content, the on-screen keyboard, settings kept on the device, and subscriptions through Roku Pay — catalog, order and entitlement checks, handled so a sideloaded build without a store catalog still works.
Behind them sit the services: Express backends with Swagger documentation for search, Audiomack, YouTube Music and Deezer; and, in progress, account-free feeds for Pinterest-style and Reddit-style channels on NestJS with Prisma, Redis and S3, a Pandora catalog built from public genre pages on a schedule, and a Substack scraper that stays within public, free content.

Architecture
Each channel is a standalone SceneGraph app — a manifest, a BrightScript entry point, XML components with their logic — so it can be packaged and sideloaded on its own. Shared tooling at the workspace root scaffolds new channels from a template and wraps roku-deploy to zip, sideload, launch and screenshot a channel on the device named in the environment. The channels talk to their own services over HTTP: Express APIs with Swagger docs for search (DuckDuckGo results, Mozilla Readability for the reader view), Audiomack, YouTube Music (youtubei.js) and Deezer; and NestJS services with Prisma, Redis, S3 and Docker for the account-free Pinterest-style and Reddit-style feeds.
Outcome
- Games
- 3
- Channels
- 5
- Repositories
- 10
- Backend services
- 8