· Swift · macOS · AI · Side projects · Building in public
I got tired of paying for apps that each did one small thing, so I built my own
building-toolbelt
My menu bar had turned into a row of single-purpose apps. One for clipboard history. One for a focus timer. One to stop the Mac sleeping. One for battery health. Each had its own icon, its own settings window and its own idea of how things should work.
None of them were bad. But half of them hit me with a paywall the moment I wanted something slightly different, and none of them worked quite the way I wanted. Paying a subscription for each small job, and still not getting it to work how I liked, stopped making sense.
So instead of installing yet another tool, I built my own. It's called Toolbelt.
What it does
Toolbelt is one native Mac app with five tools in it. You can use them from a dashboard window, the menu bar or keyboard shortcuts.
- Focus timer. 25 or 50 minute sessions and 5 minute breaks. The countdown shows in the menu bar, a notification tells you when time's up, and it keeps a daily log with a 7-day chart.
- Clipboard history. It keeps your last 50 copied texts. Press ⌃⌥V anywhere, search, hit Return, and it pastes into the app you were using.
- Quick notes. ⌃⌥N opens a floating notepad that saves as you type. The main window shows the same notes, so the two always match.
- Keep awake. Stops the Mac and display from sleeping for an hour, two hours, or until you turn it off.
- System monitor. Battery level, health and charge cycles, memory, CPU load, heat level and free disk space, with live bars.
Built the way I wanted it
The whole point was that it would work the way I want, so a few decisions mattered more than the features.
Every shortcut can be changed. There's a shortcut recorder in Settings: click a shortcut, press the new keys, done. If you pick one another action already uses, Toolbelt moves it and tells you, so you never end up with two actions fighting over the same keys. There's no Quit shortcut by default, so you can't quit by accident.
It doesn't save your passwords. A clipboard manager sees everything you copy, including passwords. Password managers mark those copies as secret, and Toolbelt checks for that mark and skips them. You can also pause saving at any time or clear the whole history.
It asks for as little as possible. Global shortcuts use the Mac's older Carbon hotkey system, which works without any extra permissions. The only thing that needs Accessibility access is auto-paste, and it's optional. Without it, choosing a copy puts it on the clipboard and you press ⌘V yourself.
Your data stays yours. No accounts, no subscriptions, nothing uploaded. Everything is stored as plain files in one folder on your Mac: your clipboard history, your focus log, your notes and your settings. You can open them in any text editor.
It's honest about what it can't do. I wanted to show the CPU temperature, but on Apple silicon there's no public way to read it. Instead of guessing, the System page shows the Mac's own heat level (normal, warm, hot or very hot) and explains why. I'd rather show less than show something wrong.
No Xcode required
I wanted anyone to be able to build it from the source, so it doesn't need Xcode. It's a Swift package that builds with only Apple's Command Line Tools. One script builds the app, signs it, installs it and opens it:
./install.sh
Even the app icon is drawn in code, by a small Swift script, so there are no design files to keep in sync.
The code is split in two. All the logic (clipboard history, the focus timer and log, shortcuts and storage) lives in its own module with no UI code at all. That made it easy to test: 26 unit tests cover it. The AppKit side is mostly one controller per tool, plus the window and its pages.
Why I started coding
Honestly, this project took me back to why I started coding in the first place. I didn't start to write code for its own sake. I started because I had solutions sitting in my head and wanted to bring them to life.
It's also worth saying that Swift isn't my everyday language. A few years ago, that alone would have stopped me before I started. With AI, the programming language isn't the barrier anymore.
That doesn't mean AI builds it for you. You still need a solid grasp of the fundamentals, so you know what to build, why it works and when something is wrong. AI didn't know that copies from password managers should be skipped, or that a temperature reading would be a guess. Those were decisions, and they came from understanding the problem. What AI removed was the time spent fighting unfamiliar syntax.
Bring the fundamentals and a head full of ideas, and you can build almost anything.
Try it
Toolbelt is open source and needs macOS 13 or later. The source and install steps are on GitHub: github.com/JeffreyEssien/toolbelt
Stack: Swift, AppKit, Carbon hotkeys, IOKit, UserNotifications, Swift Testing.
What's in your menu bar that you'd happily get rid of?