Open-source project
akalikbergenov/cyclop avatar
akalikbergenov/cyclop

Cyclop turns the MacBook notch into a hover panel for music, files and meetings

The MacBook notch as a working tool — media controls, file shelf, clipboard history, snippets, calendar, offline translation and a teleprompter. Native SwiftUI, zero dependencies, no permissions. Free and open source.

344 stars70 forksSwiftMIT

At a glance

What is it?
A native SwiftUI utility that hides in the notch and unfolds into music controls, a file shelf, clipboard history, snippets, calendar, offline translation and a teleprompter. One permission, MIT licensed.
Who is it for?
Cyclop suits MacBook owners who want glanceable music, files and meetings at the top of the screen, care about permissions and resource use, and are fine on macOS 15 or newer; the teleprompter alone justifies it for anyone recording to camera. Skip it if you need deep clipboard search, non-English translation pairs, or keyboard-driven workflows, since those are outside its design.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 10 days ago.
What is it written in?
Mainly Swift, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 27, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The notch, finally doing useful work

Every MacBook Pro owner knows the deal: the notch costs screen space and returns nothing. Cyclop, by akalikbergenov, is a native SwiftUI and AppKit application that treats the notch as an anchor point. At rest it is invisible. When the pointer reaches it, a panel unfolds downward with a music player, a shelf for files, clipboard history and your next meetings, and folds away when the pointer leaves.

The resource budget is part of the pitch and printed on the front page: zero percent CPU at rest, roughly 40 MB plus a 14 MB helper, a 3.7 MB bundle. On Macs without a notch, the panel treats a 180 by 24 point area at the top center of the screen as one, so the utility is not hardware-gated to newer machines.

Nine tabs, each one small job

The panel is organized as tabs. Music shows artwork, track and a working scrubber, with the source being anything macOS itself can see, a native player or a browser tab. Shelf holds dragged files as cards until you drag them out to a destination, with click and command-click for multi-select, and screenshots on the clipboard arrive as file cards too, even ones copied on an iPhone. Clipboard keeps the last forty copies, click to restore.

Snippets is a hand-maintained list of things you retype, backed by an editable snippets.json in Application Support. Calendar shows the next meeting up to a week ahead with a join button that recognizes Zoom, Meet and Teams links. Translate types on the left and translates on the right, offline, direction inferred from the script. Currency converts with hourly-fetched rates. Teleprompter scrolls a script beside the camera so your eyes stay near the lens. Notes is scratch space with self-cleaning blanks.

Permissionless where possible

The permission story is unusually restrained for a macOS utility. Music needs none: the now-playing track is read from the system itself, with no browser extension and no per-app configuration. Translation runs on-device through Apple's Translation framework, and the only setup is downloading a language pack once through System Settings, since macOS does not preinstall them.

Exactly one permission exists, and the README stresses it is granted by hand, triggered from a button. The single networked feature is currency rates: a public daily table, fetched once an hour, and only while that tab is enabled. Everything else, the shelf, the clipboard, the snippets, the notes, the teleprompter, works with the cable pulled. For a category of software that usually asks for accessibility access on day one, this is a deliberate design stance worth copying.

Interaction details that show the care

Small behaviors separate a utility you keep from one you uninstall. Tabs switch on hover, but only when the pointer comes to rest on an icon; a pointer passing through changes nothing. During a file drag, the panel opens by itself and lands on the shelf, because that is the moment you need it. The teleprompter holds the panel open while text scrolls, since reading a script means your hands are elsewhere.

Every tab can be switched off in Settings, and off is defined precisely: the icon leaves the rail and the tab's background work stops with it, the clipboard poll, the calendar watch, the rate fetch. The menu bar icon toggles the panel, hides all tab contents, and quits; it can itself be removed with a command-drag and returns on relaunch. This is the documentation of someone living inside their own tool.

Installing and building it

The release page carries a DMG for macOS 15 or newer. Since version 0.8.0 the image carries a Developer ID signature and Apple notarization, so the app opens on the first try with nothing to allow. One migration note matters: coming from a version before 0.8.0, macOS may ask for the calendar permission again, because the signature changed and the permission was tied to it.

Building from source is a standard Swift workflow:

bash
git clone https://github.com/akalikbergenov/cyclop.git
cd cyclop
./Scripts/bundle.sh          # swift build + assemble the .app + ad-hoc sign
open build/Cyclop.app

A Swift 6 toolchain is required, with Command Line Tools enough, no full Xcode. Source builds are ad-hoc signed and not notarized, so on any Mac but the builder's own, the first launch goes through Privacy & Security's Open Anyway. The README also documents the release pipeline, dmg.sh and release.sh, with the version number living in exactly one file so image, plist and tag cannot drift.

Limits to weigh

The constraints are modest but real. macOS 15 is the floor, because the Translate tab is built on Translation.framework. Translation itself is a two-language affair, English and Russian, with the direction inferred from the script of the input; anyone outside that pair uses nothing. The currency tab is the only one that touches the network, which is a principled limit that also means it is the only feature that can silently fail when a fetch misbehaves.

The notch as a workspace has inherent ceilings: the panel is hover-driven, so there is no keyboard-first path, and the screen-top strip suits glanceable content, not long lists. Release cadence is fast, three releases between 2026-09-07 and 2026-09-17 with the last push on 2026-09-17, which is healthy for fixes and means updating is a habit you accept. None of these are surprises; the README documents each one itself.

What to stack it against

Each Cyclop tab has a dedicated app category as an alternative: clipboard managers with search and history depth, snippet expanders with text substitution at the system level, teleprompter applications with dual-monitor or window modes, menu bar music controllers. Those tools are generally deeper in their one job; a dedicated clipboard manager will out-search forty clipboard entries.

Cyclop's argument is the container and the cost. One 3.7 MB native app, one permission, zero background CPU, and a fixed location your pointer already passes, the top of the screen, replaces six single-purpose installs and their six permission prompts. Paid notch utilities occupy the same spot with more polish; the open source and MIT licence, plus the permissionless design, is what differentiates this one. If your needs in any single category are heavy, keep the specialist and disable the Cyclop tab; the per-tab switches exist precisely for that.

Editorial conclusion

Cyclop suits MacBook owners who want glanceable music, files and meetings at the top of the screen, care about permissions and resource use, and are fine on macOS 15 or newer; the teleprompter alone justifies it for anyone recording to camera. Skip it if you need deep clipboard search, non-English translation pairs, or keyboard-driven workflows, since those are outside its design. Verify the fit cheaply: download the notarized DMG, grant the one permission when you actually use it, and if a tab overlaps a specialist tool you already run, switch that tab off in Settings.

Frequently asked questions

Does Cyclop work on Macs without a notch?

Yes. On notchless Macs the panel treats a 180 by 24 point area at the top center of the screen as the notch, so the utility is not limited to notched hardware.

Is Cyclop free?

Yes. The project is MIT licensed and releases are published on GitHub. Since 0.8.0 the DMG is Developer ID signed and notarized, so it opens without workarounds.

What permissions does Cyclop need?

One permission, granted by hand from a button. Music is read from macOS itself with no permissions, translation runs offline through Apple's framework, and only the currency tab accesses the network, fetching rates once an hour while enabled.

Official sources

  1. akalikbergenov/cyclop on GitHub
  2. License: MIT
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/akalikbergenov-cyclop.svg)](https://hysenlabs.com/projects/akalikbergenov-cyclop)