Transform your Mac's notch into a live, interactive island.
Now Playing · Battery · Weather · Calendar · Notifications · Extensions
- macOS 14 Sonoma or later
- Xcode 15+
- XcodeGen —
brew install xcodegen - Node.js 18+ (only needed to work on extensions)
git clone https://github.com/shobhit99/superisland.git
cd superisland
xcodegen generate
open SuperIsland.xcodeprojSelect the SuperIsland scheme, choose your Mac as the destination, and hit Run.
On first launch the app will ask for Accessibility, Calendar, and Location permissions. These are required for the relevant modules to work.
For a quick unsigned local build:
./scripts/build-dmg.shFor a signed release, use a Developer ID certificate and notarization credentials. Copy .env.template to .env and fill in:
APPLE_ID=you@example.com
APP_SPECIFIC_PASSWORD=xxxx-xxxx-xxxx-xxxx
TEAM_ID=XXXXXXXXXX
SIGNING_IDENTITY=Developer ID Application: Your Name (TEAMID)
Then run:
./scripts/build-and-release.shThis archives a universal app, bundles a universal runtime, notarizes the DMG, and produces build/SuperIsland.dmg.
Release and Homebrew packaging notes are in docs/RELEASE.md. A Homebrew Cask template is available at packaging/homebrew/superisland.rb.
To verify a built app bundle:
./scripts/verify-universal-build.sh build/SuperIsland.app --skip-signatureSuperIsland/
App/ AppDelegate, AppState
Modules/ Built-in modules (Battery, NowPlaying, Weather, …)
Settings/ Settings window views
Utilities/ UpdateChecker, AutoUpdater, helpers
Views/ CompactView, ExpandedView, IslandWindow
ExtensionHost/ JS runtime, extension manager, bridge
Extensions/ Bundled extensions (pomodoro, whatsapp-web, …)
scripts/ Build & release scripts
Extensions are JavaScript packages that run inside a sandboxed JavaScriptCore context. Read the full guide at dynamicisland.app/docs or in EXTENSIONS.md.
The Notifications module supports source-level controls for SuperIsland extensions, the bundled WhatsApp integration, and compatible public app broadcasts. See docs/NOTIFICATIONS.md.
Now Playing supports system media, Apple Music, Spotify, and opt-in browser media detection for supported Chromium browsers. See docs/NOW_PLAYING.md.
Settings -> General -> Power includes Normal, Smart, and Low Power modes. Smart reduces background refresh while the island is collapsed, while Low Power slows non-essential work and pauses inactive extension timers. See docs/ENERGY.md for profiling notes and scheduler behavior.
Home slots, compact island size, animation intensity, and reduced motion can be configured in Settings. See docs/APPEARANCE.md.
The Calendar module supports account/source selection, holiday and birthday filters, duplicate collapse, and meeting-link actions. See docs/CALENDAR.md.
The built-in Shelf module can stage local files, folders, URLs, text snippets, and images from the island. See docs/SHELF.md.
See CONTRIBUTING.md.
SuperIsland checks for updates automatically on launch. When a new version is available a dialog appears — click Update to download and install without reinstalling.
