Julian Reder Solo Projects · 2026

Amazon Music Discord RPC

Browser extension plus a Rust native-messaging host that publishes Amazon Music playback as Discord Rich Presence.

2026
Private — architecture only
JavaScriptRustDiscord IPC
Amazon Music tab Media Session API Extension no DOM scrape Rust host native messaging Discord IPC Rich Presence coalesce + 5 updates / 20s reconnect, Chromium and Firefox
Media Session in the tab, a Rust native-messaging host, Discord IPC out. No DOM scrape.

Built

The extension reads Media Session and first-party Amazon metadata instead of scraping the DOM. A small Rust host speaks Chromium/Firefox native messaging and Discord IPC, with coalesce + rate limits (5 / 20s) and reconnect. Private repository.

Presence without scraping

Amazon Music Discord RPC is a browser extension plus a Rust native-messaging host. The extension reads the Media Session API and first-party Amazon metadata. It does not scrape the DOM. The host speaks Chromium and Firefox native messaging on one side and Discord IPC on the other.

Private repository. The interesting part is the process boundary, not a screenshot of a Discord popup.

The host is the product

JS in a tab cannot talk Discord IPC cleanly. Native messaging is the boring, correct pipe. The Rust host coalesces updates, rate-limits them (5 / 20s), and reconnects. If you skip those, you either get rate-limited by Discord or you flicker the presence on every progress tick.

I wanted a small native binary I could reason about, not another Electron tray app.

Amazon Music tab Media Session API Extension no DOM scrape Rust host native messaging Discord IPC Rich Presence coalesce + 5 updates / 20s reconnect, Chromium and Firefox
Tab → extension → Rust host → Discord. The rate limit is part of the diagram.