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 (1)

Collapse
 
mythorian_b77f3ebd0bce9c7 profile image
Mythorian

your 16???? me too! which country are you from????