Senior R&D Engineer from Lille, France. 15 years in tech startups (gaming, SaaS, IoT, robotics, logistics). My background is in systems and infrastructure. DevOps culture shaped the way I write code: what I ship is built to run in production, deploy cleanly, and last.
minor stack
odio — an open source audio streaming platform for Linux
Turns any machine (even a 2012 Raspberry Pi B) into a full multi-room streamer: Bluetooth, AirPlay, Spotify Connect, UPnP/DLNA, CD playback. No cloud, no account, no subscription.
A personal setup maintained in production for 6 years, turned into a complete installable product in 3 months.
- Runs in your systemd user session. Not as root. No exclusive audio locks, no sudo-minefield.
- All sources share one PulseAudio mixer. MPD, shairport-sync, Snapclient, Bluetooth — you don't select a source, you just play.
- API-first. The REST API is the product; the web UI is just one client. Drives Home Assistant, the PWA, your shell, whatever you wire up.
- Source-agnostic via MPRIS + D-Bus. New players integrate without custom code.
- Your streamer isn't a precious appliance — it's a reproducible host. One command installs or reinstalls it. Safe to poke at, safe to break.
More on the philosophy: how it works
| Repository | Stack | Description |
|---|---|---|
| go-odio-api | REST API — D-Bus, PulseAudio, Bluetooth, MPRIS, systemd, Zeroconf, SSE, embed HTMX/Tailwind, multi-arch CI/CD, Debian packaging | |
| odio-ha | Home Assistant integration — Zeroconf, async SSE, native HA entities for each odio-api feature, HACS | |
| odios | odio Streamer — Raspberry images, playbooks, curl | bash install, multi-arch CI/CD | |
| odio-pwa | Progressive Web App — SSE real-time, iframe | |
| go-mpd-discplayer | CGo daemon — udev, MPD, CD/USB autoplay, multi-arch, Debian packaging | |
| go-disc-cuer | CGo Lib/CLI — CD metadata via GNUDB/MusicBrainz | |
| go-odio-notify | Notification library — PulseAudio, pure Go, embedded sounds | |
| odio-apt-repo | APT repository — GitHub Actions, reprepro, GPG, multi-arch | |
| odio.love | Landing page — Svelte + Tailwind | |
| odio-docs | Documentation site — Starlight |
Live numbers across all odio repos, pulled from docs.odio.love/stats.json since January 2026.





