DEV Community

Cover image for Raffi: a modern Stremio‑compatible streaming client I built at 16
Artemas
Artemas

Posted on

Raffi: a modern Stremio‑compatible streaming client I built at 16

I watch a lot of shows and used Stremio for years, but the UX and tech stack started to annoy me. So I spent the last 3 weeks building Raffi — a modern Stremio‑compatible streaming client with a Netflix‑style UI, Go backend for torrents/transcoding, and some extra stuff like watch parties and Discord RPC.

What I’m most excited about with Raffi is that it’s basically a full media stack (like a mini VLC + Jellyfin hybrid) built out of web pieces. The player UI is 100% Svelte running in Electron, while a Go sidecar + ffmpeg handle torrents, HLS, and cursed codecs like EAC3. It’s not a web wrapper around an OS player – the whole experience is custom, from stream picking to time‑remaining‑based progress. I haven’t really seen a desktop media player that leans this hard on Svelte/Electron on the front and Go/ffmpeg on the back, while still speaking Stremio’s addon language.

What Raffi is

  • Desktop app (Electron + Svelte)
  • Uses Stremio addons (Real‑Debrid / torrentio), but doesn’t reuse Stremio’s code — it just speaks the same addon protocol.
  • Go sidecar backend handles:
    • torrents (anacrolix)
    • HLS generation
    • EAC3 → AAC audio transcoding with ffmpeg

Features right now

  • Home screen with continue watching, popular rows, Netflix‑style hero.
  • Show/episode pages with progress, seasons, IMDb, etc.
  • Custom player based on time remaining, however you can switch between the Raffi style seekbar and the normal one.
  • Stream picker dialog that actually explains quality/codec/size instead of filenames.
  • Watch parties (synced playback), Discord Rich Presence.
  • Play local files + magnet links (You can use it as a replacement for the Windows Media Player)
  • Early experiments with clipping funny moments.

Tech nerd bits

  • Stack: Electron, Svelte, Go, ffmpeg, anacrolix.
  • Distribution is via GitHub releases.
  • Using Supabase for the backend

It’s fully usable for me day‑to‑day, but it’s still early:

  • some edge‑case bugs
  • only Windows / Linux for now (no macOS yet / signing pain)
  • docs are minimal

How to try it
Link the website: https://raffi.al
GitHub repo: https://github.com/kaleidal/raffi

How to contribute

  • Mention open issues and that you’re happy to label “good first issue”.​
  • List useful areas:
    • macOS support / packaging
    • more robust HLS/transcoding edge cases
    • UI polishing and accessibility
    • docs + examples

If you’re into media players, Electron, Go, or just hate bad streaming UX, I’d love feedback, bug reports, or PRs.

For the end, here's some screenshots!

Top comments (0)