Launching today

Pulse Island
A living island for your Mac's notch
100 followers
A living island for your Mac's notch
100 followers
Pulse turns your MacBook's notch into a Dynamic Island: Be it music, meetings, clipboard, weather, focus timers, devices and live system stats, one glance up.










Hey Product Hunt,
Pulse turns the dead space around your MacBook's notch into a Dynamic Island.
Hover it to open, scroll sideways to switch cards.
📋 A clipboard that knows what you copied
- Copy #FF5733 → you get the swatch.
- Copy a screenshot → a thumbnail.
- Copy a link → the host, not 200 characters of UTM.
- Filter by Links / Colors / Images / Code.
🎵 Music from anything
Spotify, Apple Music, and any browser tab: YouTube, YT Music, SoundCloud with artwork and scrubbing.
📅 Meetings
A countdown in the notch that pulls the Zoom/Meet/Teams link, so joining is one click.
🌤️ Weather, Connected devices, CPU, RAM, network
Everything you currently Cmd-Tab or open Control Center for.
The detail I care most about is invisible: the window never animates. It's a fixed transparent panel and SwiftUI springs the island inside it; animating an NSWindow frame can't hold 120fps, animating a view layer can.
It's Native Swift, no Electron. No account, no telemetry. Clipboard history stays in RAM and never touches disk.
Free until 28th July 2026.
One heads-up: Pulse isn't notarized with Apple yet, so macOS will ask you to approve it once on first launch
What would you want your notch to show? A downloads shelf is next on my list.
Hey @thys_beesman
Appreciate you reading it that closely, and you nailed why the panel is a fixed frame. Animating NSWindow geometry at 120Hz fights the compositor, so the window never moves and SwiftUI does all the motion inside it.
On persistence, sleep and reboot differ. Across sleep nothing is lost, the process stays alive so the array is still there. It's a 2Hz poll on NSPasteboard.changeCount (just an int compare), and since I diff the change counter and not the content, anything that landed during sleep gets caught on the first tick after wake.
Across quit or reboot it starts fully clean. No short lived persistence at all: no Core Data, no plist, no cache file. History is an array on the service and it dies with the process. Deliberate, since that blob holds OTPs and tokens, and on disk it also ends up in Time Machine and backups. I also skip org.nspasteboard.ConcealedType, so password manager copies never enter history at all.
Great launch! Do you guys filter on content? Or is the ConcealedType check the only line? Could it be that a fair number of copies that shouldn't be in history still slip through the 2Hz poll?
@artstavenka1 thanks mate!
And fair question, and no, ConcealedType and TransientType are the only exclusions right now. There's no content based filtering, so anything from an app that doesn't mark its copies concealed does land in history, an API key pasted out of a terminal being the obvious one.
The poll rate cuts the other way though. Types are read from the pasteboard in the same tick as the content, so 2Hz doesn't sneak anything past the check, it just means two copies inside 500ms and I only catch the later one.
Backstop is that it's memory only and dies on quit. Next step is per app exclusions by bundle ID plus prefix matching on the usual key formats.
the unnotarized heads up is honest of you to call out upfront, but it's also exactly the kind of prompt that scares off non-technical users, especially for something polling the clipboard continuously in the background. is notarizing it on the roadmap, or is that waiting until after the free period ends on the 28th?
@omri_ben_shoham1 Yeah, you're right and I'd rather eat the honesty cost than have someone hit
that dialog with no warning. It's already in progress. The release script has the notarize and staple path wired up, it's the Developer ID cert I'm still getting through enrolment, so it lands in the next version update just after
the beta. Not gated on the 28th, just on Apple.
Fair point that clipboard polling raises the bar on trust, which is also why history stays in memory and never hits disk. Worth noting the ad-hoc build still has a stable code identity, so the Calendar and Bluetooth permissions you grant are remembered rather than re-prompting each launch.
Congratulations on your launch, @aayu5hgit ! I really like the copy history functionality. On macOS, there's usually no built-in way to keep the last n copied items, so this is a really useful feature.
The UI looks great, and I like the way everything is categorised as well.
One suggestion: is there a way to customise the view? For example, it would be nice if users could choose which tabs to show or hide, or configure how many tabs are displayed in the notch.
Thank youu @shubham_tiwari43 , and yes on both counts, the lack of a system clipboard history is exactly the gap I built that card for.
You can already do most of what you're describing:
Settings > General, under the Features section, has a toggle per module, so switching one off drops its card out of the carousel entirely.
Appearance > Elements controls what shows in the collapsed notch, and the clipboard's own tab lets you set the
history size (10, 30 or 50).
What you can't do yet is reorder them, since cards are ranked by priority rather than a fixed list, so a live download outranks the weather.
The clipboard card is the clever bit for me. Showing a color swatch, image thumbnail, or cleaned host instead of raw clipboard text makes the notch feel genuinely useful.
@adriancia Glad you enjoyed it, that was the whole reason for building it. Classification happens
once at copy time, so the row can carry the swatch, the thumbnail or the host instead of you parsing a line of text. My favourite bit is the guard that stops every six digit order number turning into a swatch.🙌🏻
@hannesh Thank you, and glad the categorisation landed, that was the part I rewrote the most.
Pomodoro isn't built yet, but it's in my plan ( you can check the website for upcoming features)
One thing I want right first: it has to be deadline based, not tick based. Decrementing on a Timer means closing the lid gives you a 25 minute pomodoro that actually took 90, since timers don't fire while the Mac sleeps. So it stores the end date and recomputes on wake.
@hannesh Thanks mate, same trick the battery and calendar cards use, and I'll ping the thread when it ships.