You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Open-source developer and maintainer, building terminal-native software in Rust
Maintainer of spotatui.
I work on media playback, network protocols, Linux tooling, and cross-platform applications.
↑ live from spotatui, the terminal music player I maintain
What I Do
Maintain open-source projects that people actually run. Releases, packaging, issue triage, and the long tail of cross-platform bugs.
Write Rust, mostly. C, C++, and Python when they suit the problem better.
Build for the terminal. Fast, keyboard-driven tools that stay out of your way.
Enjoy the awkward parts. Audio pipelines, undocumented network protocols, Linux internals, and bugs that only reproduce on someone else's machine.
Current Projects
spotatui flagship
A terminal music player written in Rust, built on Ratatui.
It streams Spotify natively, with no official client and no spotifyd in the loop, and
Spotify is optional: local files, Subsonic/Navidrome, internet radio, and YouTube all work on their own.
Synced lyrics, a real-time audio visualizer, a queue that spans every source, Lua plugins, and a
scriptable CLI. Runs on Linux, macOS, and Windows.
A terminal-native Steam client. Sign in with a QR code, browse your library, chat with friends in
real time, check playtime and achievements, and launch games without a Steam window in the way.
It speaks Steam's own connection-manager protocol, so there is no Web API key and no scraping.
The crate underneath steamie, and usable on its own: a Rust implementation of Steam's
connection-manager protocol over WebSocket. Authentication (QR, password, Steam Guard, refresh
tokens), friends and presence, live chat, library and achievement data. Async, on Tokio.