Highlighted

DynamicNotch

2 min read
DynamicNotch

Image Credit: Zach Moore

Resources

Situation

After seeing https://lo.cafe/notchnook, I was incredibly impressed by the idea and the buttery smooth animations that mimic the iPhone’s Dynamic Island. I wanted to challenge myself to recreate a similar experience using Electron (for possible cross-platform compatibility) and to achieve a satisfying user experience.

Task

Design an Electron app that provides:

  • Media controls
  • Buttery-smooth animations
  • iPhone-like aesthetics

Action

  • I started by setting up a React and Electron app with a transparent click-through window that floats above all other windows.
  • To prevent any visual shifting, the window spans the entire top of the screen and manages hover state only on the interactive area. This allows for smooth open, close, and “bounce” animations without worrying about resizing the window itself.
  • Unfortunately, Apple doesn’t provide a public API for media controls, so I used the unofficial nowplaying-cli tool as a backend to fetch media information and control playback.
  • I spent hours meticulously refining the animations and easing curves, applying scaling and opacity transforms to transition between views, and perfecting the timing to achieve the exact feel I wanted.
  • I also introduced scroll up/down listeners to act as gestures for opening and closing the menu.
  • Haptic feedback was added to vibrate the trackpad when opening the notch.

Result

The performance is not optimal due to using Electron and continuously polling for media information, but I consider this a major success based on my initial goals. The animations are extremely smooth once the app is running, and I am very pleased with the overall user experience.

Download and use it for free here!

Suggest an edit

Last modified: 9 Nov 2025