All projects

Application / Media hub Personal project

RayCast.

Your media, organised. On any screen.

RayCast started as a way to get media onto the big screen and grew into a full media hub. It organises your local library into shows and movies, builds subtitles and fixes their timing, and casts to a Chromecast, a browser tab, or your whole screen. It can also turn any other browser into a cast screen, and a phone companion app puts the controls in your hand. It all runs on your computer, so your media stays local.

  • Media library
  • Chromecast
  • Subtitles
  • Companion app
  • Local-first

A full media library

Shows and movies, organised with thumbnails, search, sorting, and recently watched.

Cast anywhere

Send to a Chromecast, cast a browser tab, or share your whole screen.

Any browser, a new screen

Generate an external screen and cast to another browser, on any device.

Subtitles, built in

Build subtitles, load them independently, and fix out-of-sync timing locally, with a preview before saving.

Your phone, the remote

A companion app to browse your library and control playback from your phone.

Local and personal

Runs on your computer, so your media stays local. Pick from five themes.

How it’s built

Tech stack.

  1. 01

    Interface

    Local web app, browser extensions, and a phone remote

    • JavaScript
    • Browser extensions
    • Phone web app
  2. 02

    Core service

    A local Python service that manages the library and every cast

    • Python
    • TMDB & TVmaze
  3. 03

    Media & devices

    Finds screens on the network, converts media, and fixes subtitle timing

    • Chromecast
    • Zeroconf discovery
    • FFmpeg
    • ffsubsync
  4. 04

    Delivery

    Tested and packaged automatically, with a Windows installer

    • GitHub Actions
    • Inno Setup
    • PowerShell
Next projectEdgewise