I stopped playing hide-and-seek with the Sonos app and finally removed it. The app just kept getting in the way, and the subscription nag got to me. It turns out, it’s not just me; several other Sonos users are tired of app woes as well. Lately, I’ve been running Snapcast on my Raspberry Pi to replace Sonos entirely.
While browsing the Sonos forums and sub-reddit, I discovered something unexpected: community members had vibe-coded Sonos controllers. With AI assistance, many people built sleek, local-first Sonos apps. I tried out four of them. Each taught me something different about what happens when user experience trumps feature count.
A Raspberry Pi can make your old speakers feel like Sonos
Use a few Raspberry Pi boards to give your old speakers Sonos-style multi-room audio without replacing the gear you already love.
Why people are building their own Sonos apps
Aiming for local-first support
A Sonos speaker acts as a server, exposing the UPnP media service to the network, and accepts SOAP (Simple Object Access Protocol) commands directly on the local network. It’s been there the whole time, leveraged to make something that works locally without a cloud account or authentication.
Getting tired of the Sonos app and the available Generative AI capabilities drove a few community members to vibe-code Sonos app alternatives. Most used Claude with React Native to work on local servers. With AI assistance, the speed multiplies to make a working app, and not just a proof-of-concept.
The developers who use AI are transparent about it and open-sourced the code. For instance, the developer of the Kyuu app mentions that it is built with AI. This honesty matters, especially in building community spirit. After all, vibe-coding isn’t low-effort laziness; it’s a strategy to build apps quickly without great technical skills. Here’s my experience of using such vibe-coded Sonos apps.
Kyuu made me realize I was overthinking it
Get control over the playback
The Kyuu app is currently available as an iOS beta through TestFlight. It took me less than a minute to install and get it to work on my phone. This app works as an iOS-based controller for Sonos speakers and requires running a server on the same network to discover Sonos speakers, send commands, and poll device availability.
While the Docker option existed, I downloaded the Kyuu server binaries on my Linux server and ran it. The Kyuu app on the iPhone immediately found the local server and showed the speaker as available on the network. The app’s interface is very minimal, with barely any customization options. It just works once connected, but occasionally glitches. For starters, it couldn’t pick up the room name automatically at first. After restarting the app, it did, and after that, the room selection was easy.
Standing true to its name, Kyuu is a controller by heart and design. So it doesn’t offer any Sonos app integrations to add a new music server or a music equalizer menu. Clearly, it is focused on music playback. It reminded me how simple it is to build just the controller for multi-room audio rather than a full-scale music player app. Want control over what’s playing? This is the app for you. But it only supports iOS right now.
Kyuu
A local-first iOS-based Sonos conroller that works without Sonos account.
Choragus showed what a native app looks like
How Sonos app needs to work
Sonos limited its official app to the legacy Intel-based Macs only. So to use it, I’d need to install Rosetta, and the company is pushing everyone to use its web app. That’s when I found Choragus as a worthy replacement for that to make it work on my Apple Silicon-based MacBook Air.
After I downloaded and installed it, there was no Gatekeeper warning since Apple had signed this app. Built natively in Swift and SwiftUI, the app communicates directly with the speakers on the local network via UPnP and SOAP using the Sonos S2 API. It discovers speakers via Simple Service Discovery Protocol (SSDP), then subscribes to their UPnP events, and sends commands directly over SOAP.
The app’s three-column layout looks clean. It integrates a variety of music services, including Apple Music, Spotify, Audible, Plex, TuneIn, and more – all searchable and playable directly. What I really like is the minimal EQ support, which lets me control bass and treble with the option to adjust loudness. The real kicker: Karaoke mode turns the player to fullscreen to display lyrics as you sing along.
Though limited to macOS, the app has become my go-to for controlling music on the speakers across the house and for fun sing-along sessions once in a while.
Sonoshaus made me ask if I needed an app at all
Using a controller through web interface
Taking Sonoshaus for a spin made me question whether an app was even needed. It looks like a vintage stereo receiver. If you self-host apps with a web interface, you’ll feel right at home. Alternatively, you can use its Mac app.
The app takes a very different approach to its operation. It is an interface layer that sits atop the node-sonos-http-api library, which acts as a bridge between the macOS/web app and the speakers. This bridge translates the app's outgoing REST HTTP calls into SOAP commands for the speakers.
Also, incoming UPnP event notifications from speakers are translated back to the state app displays. Hence, the Node.js bridge, which uses the sonos-discovery library to discover speakers via SSDP.
Save on audio deals: speakers, receivers & soundbars
Setting up the macOS app took only a few minutes, but getting local files to work took a while because it requires a local bridge to function as a Sonos controller. Unfortunately, this app trades its elegant simplicity for the lack of music integration and EQ controls.
Sonoshaus
With a retro stereo receiver interface, Sonoshaus can control Sonos speakers over the local network.
Control the home audio your way
These projects are production-ready and demonstrate a lean, fast experience. All you did was strip away cloud dependencies and feature bloat. Everything works locally without touching any cloud endpoint or requiring an account.
The only catch: these are not yet feature-rich replacements for the official Sonos app. It’s a far cry to expect these vibe-coded apps to integrate every music service and offer equalizer presets. However, they hand you control of the music on your network without any lag or ads.
Vibe-coded apps are examples of modern tools people can use to build something they actually want to use. Besides these, there are several options, such as the Sonos Controller, Sonos TCS MCP, Sonos Moments, and others. If the Sonos app is not working for you, you can try out any of these apps over the weekend. Alternatively, you can use Home Assistant instead of the Sonos app.
Sendspin is ESPHome's answer to Sonos-style multi-room audio
Sendspin is a new and powerful protocol that's easy to use.
