My desk has a small annoyance I’ve lived with for way too long. My laptop plugs into a Thunderbolt hub, which feeds video and audio to my two monitors. My main monitor passes its sound to a pair of speakers through an aux cable.
It’s a clean setup with one cable to the laptop. The catch is that my keyboard’s volume keys stopped doing anything.
The problem
When the Mac sends audio through a monitor, it hands over a digital stream and lets the monitor handle the rest. The monitor tells macOS it has no volume control of its own, so the volume slider greys out and the volume keys do nothing.
So every time a video came on too loud, I reached over for the knob on the speakers. Small thing, but it adds up when you’re at the desk all day.
There are already apps that work around this, but none of them did exactly what I wanted. Since I’m in my vibe coding era, I figured why not just build my own?
The solution: Amplicon
Amplicon is a small menu-bar app that gives me my volume back. It has a slider, the volume keys work again, and it even plays the little “tick” macOS makes when you change the volume.
It follows whatever output I’m using. When I switch to the MacBook speakers, which already have their own volume control, Amplicon steps aside and lets macOS take over.
It’s not the perfect app, but it gets the job done. I built the whole thing in a morning, from the first question to a public repo on GitHub.
Branding it
This is the part I had the most fun with. Vibe coding means I can tailor a tool to exactly how I work, and it also means I get to brand it.
The name comes from genetics. An amplicon is a stretch of DNA that’s been amplified, which felt right for a volume app that’s part of the INMYDNA family.
The icon I’m most proud of is the one in the menu bar. It’s built from my braces helix, and the four rungs double as a volume meter. They light up from the bottom as the volume goes up, and go dark when it’s muted.
At menu-bar size, a straight copy of my logo turns to mush. The rungs would be less than a pixel tall, so the menu-bar version is its own cut, with heavier strokes and thicker rungs.
A few things I learned along the way
The Mac isn’t doing anything wrong
The volume knob in my setup lives downstream, after the monitor, so there’s nothing on the Mac side for the keys to talk to. There are two ways around that. You can ask the monitor to turn itself down over the display cable, which only works if the monitor supports it, or you can turn the sound down before it ever leaves the Mac.
Amplicon does the second. It captures everything the Mac is playing, lowers it, and sends it on to the monitor, so it works no matter what’s plugged in.
The app can’t hear itself
To lower everything the Mac plays, Amplicon has to leave its own sound out of the mix. Otherwise it would catch its own output and loop it forever.
That means the volume “tick” skips Amplicon’s volume control entirely. Left alone, it would play at full blast every time, so Amplicon sets its level by hand to match yours.
macOS remembers apps by their signature
Amplicon needs two permissions: one to capture system audio and one to listen to the volume keys. Every time I rebuilt the app, macOS treated it as a brand new app and forgot both.
The fix was signing the app with my own certificate, so macOS recognizes it between builds. Vibe coding moves fast, but you still play by the platform’s rules.
My logo brief called this one
When I was exploring my logo, one concept was a helix drawn only by its rungs. I dropped it because it “reads as an audio waveform.” For a volume app, that’s the whole point.
Why it’s not on the App Store
The only thing between Amplicon and a proper release is Apple’s Developer Program at $99 a year. That’s what lets an app open on anyone’s Mac without a security warning, and for a fun experiment I don’t feel I need it.
Instead, it’s open source on GitHub. You can build it yourself in a couple of commands, or download it and approve it once under System Settings, Privacy & Security.
Mostly I just wanted to share the process. If a desk setup has been bugging you for years, it might be a morning’s work away.