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/Elect…
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!