Deep Happy app icon

Mac app · macOS 26+

An internet radio player for Mac that keeps playing when the network doesn't.

Deep Happy lives in the menu bar and plays any stream you point it at. It is built for the situations that normally interrupt internet radio — a VPN reconnecting, a laptop lid closing, a socket that stalls without saying so — and for the fact that the Mac with the speakers is often not the Mac you are sitting in front of.

Not on the Mac App Store yet Building toward a first submission.
Requires
macOS 26+
Stations
Any stream URL
Remote
Drive another Mac
Account
None

Why it exists

The usual failure isn't an error message. It's a radio app that says Playing and makes no sound.

Press Play once, and keeping the station coming out of the speakers is the app's problem, not yours — through a VPN reconnect, through closing and reopening the lid, through a connection that stalls without ever reporting it. When it genuinely cannot play, it says so in plain words instead of leaving a Playing label on screen over silence.

01

A VPN reconnecting

A network path changing is not on its own a reason to tear anything down. Deep Happy decides by whether sound is still arriving, not by the notification — so a tunnel that drops and comes back under a healthy stream passes unnoticed.

02

A lid that closed

Sleep and wake are handled deliberately rather than hoped through. If the stream did not survive the sleep, the app builds a new one on waking — recovery here always means a fresh connection, never nudging a dead one and hoping.

03

A socket that stalls

The worst case is a connection that never returns an error and never delivers another byte. That is the case most players get wrong, and the one this app was written for: it is noticed, it is rebuilt, and the status line says so while it happens.

The status line under the track is the other half of it. It reads playing, connecting, waiting for the network to come back, reconnecting, or unable to reach the stream — so you never have to guess whether the app is actually working.

You may hear a short gap. Recovery means a new connection, and a new connection takes a moment. Deep Happy is not gapless and doesn't claim to be. What it claims is that it comes back on its own, and tells you the truth while it is doing it.

Stopping and starting again is quick, too. For about fifteen seconds after you press Stop the app keeps the stream it was playing, so Play picks it straight back up. Leave it stopped for longer and Play connects afresh, taking the usual few seconds.

Remote control

Drive the Mac with the speakers from the Mac you're sitting at.

Deep Happy on one Mac can control Deep Happy on another — play, stop, change the volume, and see what is really playing over there. The machine wired to the speakers doesn't have to be the machine in front of you.

01

Turn it on, on the Mac that plays

Remote control is off by default, and the listener does not exist until you switch Allow remote control on in Settings. macOS asks for Local Network permission the first time; without it the two Macs never find each other.

02

Pair once, with a PIN

The Mac with the speakers shows a four-digit pairing PIN, good for two minutes and three tries. Type it on the Mac you want to drive from and the pair is remembered. A Mac that plays accepts at most three paired controllers at a time.

03

Then just use it

Connect, and the panel becomes that machine's playback: its station, its track, its transport, its volume, its recent tracks, with a row across the top naming it and saying what the session is doing. Disconnect hands control back.

Playing here and driving another Mac are mutually exclusive — connecting stops whatever was playing on this one. The app remembers which Mac you were driving and reconnects on its own when you reopen it, when this Mac wakes and when the network comes back, looking the other Mac up afresh each time. It never starts playback over there by itself.

The rest of it

Any stream, in the menu bar, with the keys you already use.

Add any stream by URL

Deep Happy is a player, not a station. Add station… takes a name of your choosing and a full http:// or https:// stream address; if the address isn't one the app can use, it says so and keeps what you typed.

Or find one in a directory

Find a station… searches an open station directory by name or genre when you don't already have an address. Each result shows what is known about that stream, and one click adds it to your list.

Menu bar, or a real window

There is no Dock icon by default — the menu-bar item is the whole app. Switch Show Dock icon on and you get a window holding the same player, laid out with the artwork beside it at full size.

Copy a track, look it up

Click the artist and title and both are copied as one string, ready to paste. A lookup button opens a browser search for the track, and a Recent list keeps the last three so you can go back to the one you missed.

Media keys and Control Centre

Your keyboard's play and stop keys drive Deep Happy the way they drive any other player, and Control Centre shows the current track — including through a reconnect, so the keys don't wander off to some other app.

The real system volume

The slider is the system volume of whichever machine is making the sound, and the button beside it is that machine's mute. That is the honest version: turning the radio down turns everything else on that Mac down with it.

Decided, not missing

What Deep Happy doesn't do, on purpose.

  • NOAn account or a sign-up. Nothing to register, nothing to log into, no licence key to type.
  • NOAnalytics, telemetry, ads or third-party SDKs. Not anonymised, not aggregated, not opt-out. None.
  • NOA station of its own to sell you. Deep Happy isn't any broadcaster's app and isn't affiliated with one. It plays the stream you point it at.
  • NOA listener on the network you didn't ask for. Remote control is off until you switch it on, and pairing is a PIN typed by a person, not a device that appears by itself.

None of this is a gap waiting to be filled quietly — it is stated here so it doesn't have to be discovered by its absence.

The system facts

Sandboxed, with nothing to sign into and nothing to leak.

Requires
macOS 26 or later
Distribution
Mac App Store, once submitted
Sandbox
Apple's App Sandbox
Account
None
Telemetry
None

Over the network Deep Happy talks to three things and no others: the stream you chose, an open station directory when you search it, and — only if you turn remote control on — another Mac you paired with, on your own network. There are no ads, no analytics and no third-party SDKs. Detail is in the privacy policy.

What comes next

Mac first. iOS after that.

iOS — not started

Deep Happy is a macOS app and nothing else today: there is no iOS target in the project, no iOS build, and no date for one. The half that would travel is the player — it is written against frameworks that exist on both systems. The half that would not is everything the Mac gives it: the menu-bar item, the Dock icon, the window. That is the state of it, stated rather than scheduled.

More detail

Read the rest, or send a message directly.

The full feature list covers everything the app does today, control by control, and the frequently asked questions answer the ones that come up most — starting with why a radio app goes quiet after sleep. The support page, the privacy policy and the terms of use cover the rest. The feedback form goes straight to the person who writes the code.