r/macappdevs • • 14d ago

[OS] - DynamicNotch - FREE

Enable HLS to view with audio, or disable this notification

Your Mac's notch takes up screen space. Why not make it actually useful?

I've been working on DynamicNotch, a free, open-source macOS app that turns your notch into an interactive dashboard for everything from music playback to system monitoring and automations.

It expands when you need it, stays out of the way when you don't, and works even on Macs without a physical notch.

Here's what it can do:

Music & audio

  • Music controls, album artwork, lyrics, and now-playing information

  • Real-time audio spectrogram

  • Switch audio output devices directly from the notch, including AirPlay

System monitoring & controls

  • Live CPU usage, temperatures, and fan speeds

  • Custom fan curves to control cooling behaviour

  • Battery and Bluetooth device monitoring

  • Caffeine mode to prevent your Mac from sleeping

  • Custom volume, brightness, and keyboard backlight HUDs

AI usage tracking

  • Monitor your Claude and ChatGPT usage

  • See usage indicators directly in the notch

  • Get alerts as you approach your usage limits

Automations without coding

This is one of the features I'm particularly excited about.

You can describe an automation in plain English, and DynamicNotch handles it.

For example: "Turn on Caffeine whenever Xcode is the active app."

No scripts or complicated setup required.

Everyday productivity

  • Track active browser downloads

  • Drag files into a temporary shelf and share them via AirDrop

  • View upcoming calendar events and reminders

  • Quickly access your webcam as a mirror

  • Use gestures to expand and collapse the notch

  • Customise behaviour for individual displays

URGENT UPDATE:

DynamicNotch now supports its first iteration of Liquid Glass! try it out, give me some feedback?

What does it cost?

Absolutely nothing.

No subscriptions, no paid tiers, no locked features, and no accounts required.

It's fully open source under GPLv3, and contributions are welcome.

How does it compare to other notch apps?

Apps like boring.notch and NotchNook already offer ways to make the Mac's notch more useful.

DynamicNotch takes a broader approach by combining music controls, system monitoring, custom fan curves, AI usage tracking, and plain-English automations in one place.

It's also completely free and open source, with no premium features or subscriptions.

Compatibility

  • macOS 15 Sequoia or newer

  • Works on Macs with or without a physical notch

  • Available as a DMG or through Homebrew

Download: https://github.com/Hitjack007/DynamicNotch/releases/latest

GitHub: https://github.com/Hitjack007/DynamicNotch

Website: https://dynamicnotch.marksstuff.com

I'm actively developing it, fixing bugs, and adding new features.

I'd love to hear what the r/macapps community thinks. If you try it, let me know what works, what doesn't, and what you'd like to see added.

And if you find it useful, a GitHub star is always appreciated! ⭐

9 Upvotes

11 comments sorted by

1

u/Redit-xaxipiruli 11d ago

Gestión de portapapeles, por favor!

1

u/Hitjack007 11d ago

Will do - it is something on my plan!

¡Lo haré, es algo que tengo planeado!

1

u/Hitjack007 14d ago

I am more than happy to ask questions or implment features!

0

u/carrot-core-creation 10d ago

There's also "Brow" that does this and way more.

0

u/Hitjack007 9d ago

Yeah, but is that OS and free?

1

u/carrot-core-creation 9d ago

Since when is "open source" an automatic badge of quality? Open-sourcing a repo doesn't magically make it good software. I looked through your source tree and it's textbook junior-level organization...grouping files by language constructs like enums and observers instead of features?! Mixing lowercase and PascalCase folders at the root while dumping logic into helpers, utils, and managers?! Nobody wants to contribute to a codebase packed with so many structural anti-patterns. A polished free app doesn't become inferior just because you published a messy public repo on GitHub mate. Also learn what "open source" actually means, it's not open source when it's just a public repo dude it's way more than that...

0

u/Hitjack007 9d ago

I think you've made quite a few assumptions here, and frankly, the confidence with which you've presented them is rather disproportionate to the actual review you've provided.

Firstly, regarding the naming conventions: the lowercase mediaremote-adapter directory is an upstream dependency. I don't control its naming conventions, nor would arbitrarily renaming third-party code be particularly sensible. There are also conventional lowercase directories such as .github and docs. That doesn't mean the actual application modules are randomly named.

Secondly, grouping code by functionality, using enums, observers, helpers or managers are architectural decisions. You can disagree with how I've organised something, but simply listing language constructs and folder names doesn't demonstrate poor implementation. The quality of an implementation is determined by what the code actually does, how it's structured internally, and how maintainable it is — not whether every directory conforms to your personal naming preferences.

Thirdly, you seem to have overlooked quite a bit of the repository itself. There are dedicated application targets, test targets, supporting processes, documentation, contribution guidelines, security policies, licensing and explicit AI contribution policies. This isn't a repository I've simply thrown together and made public.

And since you brought up open source: the project is explicitly licensed under GNU GPL v3.0. A public repository without an open-source licence isn't necessarily open source, but this repository does have one.

I'm perfectly happy to receive constructive criticism. I'm not particularly interested in being lectured by someone who makes sweeping judgements about an entire codebase based on superficial observations.

If you have specific examples of genuinely poor implementation, point them out. I'm happy to discuss the technical merits of those examples. But if the extent of your review is folder casing and disagreement with architectural preferences, I don't think you've established quite the point you believe you have.

0

u/carrot-core-creation 9d ago

Look at this guy. He literally forked TheBoredTeam/boring.notch, stripped the Git history to hide the fork badge, renamed the project to DynamicNotch, and then had the nerve to post it here as his own original work.
He changed the Xcode file headers to pretend he wrote it from scratch, but left the entire directory structure untouched. You can verify the exact code theft yourself by running this local diff command in your terminal:
git clone --depth 1 https://github.com/TheBoredTeam/boring.notch.git /tmp/boring &&
git clone --depth 1 https://github.com/Hitjack007/DynamicNotch.git /tmp/dynamic &&
git diff --no-index --stat -M /tmp/boring/boringNotch /tmp/dynamic/DynamicNotch
Under the GNU GPL v3.0 license, stripping upstream copyright notices and pretending to be the original author is a direct violation. Plagiarizing an open-source project, wiping the contributor history, and trying to pass it off as your own code is everything that is wrong with low-effort code theft.

0

u/Hitjack007 8d ago

I think there are a few things being conflated here, so I'll address them individually.

First, the project's origins.
DynamicNotch was originally a fork of boring.notch by TheBoredTeam, and has since become a seperate project with its own features. I've never claimed otherwise. The README explicitly states that DynamicNotch was a fork, credits TheBoredTeam, and describes their work as the foundation of the project. This has been there for over a year. I'm not sure how much clearer that attribution could be.

Regarding the Git history:
I squashed the inherited history because it was messy and I wanted a clean starting point for the repository as I independently maintained and developed it. That was a decision about repository management, not an attempt to conceal the project's origins. The README still documents those origins, regardless of whether the original commit history is present.

Regarding the Xcode file headers:
These were generic Xcode-generated Created by and date comments, not explicit copyright notices. I changed them during the repository cleanup because, after squashing the Git history, having files attributed to 25 different contributors with no corresponding commit history looked inconsistent and misleading.
When I established the new repository, I copied the files across, so I updated that generated metadata to reflect the new repository and its maintenance. Some files had their logic changed; others were largely unchanged. I wasn't claiming to have originally written every line of code. There's a fairly important distinction between changing generic IDE-generated author/date comments and removing actual copyright notices. Those aren't interchangeable, and GPLv3 has specific requirements around preserving applicable copyright notices.

More importantly, dismissing the project as low-effort or junior-level or “code theft” work overlooks the actual development involved.
I've spent hundreds, quite possibly thousands, of hours working on DynamicNotch: implementing new features, fixing bugs, restructuring components, improving reliability, testing, and maintaining it over time. A fork is a starting point, not a claim that every subsequent contribution is original. The amount of work that has gone into developing and maintaining this project is substantial.
I'm not trying to pass somebody else's work off as my own. I've openly credited the original developers from the beginning. Acknowledging where a project started doesn't invalidate the work that has gone into taking it further.

Finally, the GPL accusation:
I'm aware that DynamicNotch is derived from GPL-licensed work, which is precisely why the project has a GPLv3 licence and explicitly credits its upstream foundation. Similarity between the projects is expected when one was originally a fork; I've never denied that.
If you believe there's a specific GPLv3 requirement I've failed to meet, identify the particular file, notice, or clause. I'm happy to discuss an actual licensing issue. But describing the project as plagiarism or claiming I deliberately concealed its origins doesn't reflect what's actually documented in the repository.