← Back to projects
macOS / Swift Developer

Notchill

A native macOS menu bar utility that transforms the MacBook notch into a Dynamic Island-style interactive surface. Built with Swift and AppKit, Notchill overlays an expanding notch panel with media playback controls, now-playing info, and system notifications.

Live App Demonstration
Live demonstration of the Notchill app expanding the native macOS notch context.

Built With

Swift AppKit NSPanel MediaRemote Observation macOS

About the Project

Notchill runs as a lightweight status-bar app that attaches a custom NSPanel to the MacBook notch area. When media plays, the notch expands to reveal track info, playback controls, and album art, bringing the iPhone Dynamic Island experience to the Mac desktop.

Key Features

  • Dynamic Island-style expanding notch animation
  • Now-playing media detection and playback controls
  • Lightweight menu-bar app with minimal resource usage
  • Custom NSPanel overlay positioned at the MacBook notch
  • MVVM architecture with Swift Observation framework

Architecture

The app uses a clean MVVM pattern: NotchViewModel manages state and media session data, NotchPanel handles the custom window overlay positioning, and MediaManager bridges the system media APIs to provide real-time now-playing updates.

Native macOS Integration

Built entirely with AppKit rather than SwiftUI for precise control over window behavior, panel positioning relative to the notch, and smooth expand/collapse animations that match the feel of Apple's Dynamic Island on iOS.