Fan modes
4
Ways to run your fans.
Let macOS decide, boost when a sensor crosses a threshold, drag a curve, or set the speed yourself. Then save your own named modes.
Free and open-source apps for macOS
Tuuli cools. Kaiku listens. Kiito scrolls. Mittari counts. Kello keeps time.
Each one does a single job, lives in your menu bar, and costs nothing. The code is open, the license is GPL-3.0, and the apps are yours to keep.

Tuuli · Finnish for “wind”
Temperatures in your menu bar and real fan control for Apple Silicon Macs.
macOS 26 or later · Apple Silicon, experimental on Intel · Free, GPL-3.0



Tuuli finds your CPU, GPU, SSD and battery sensors on its own, and keeps a history you can look back through.
Readings sit in the menu bar. One click opens a popover with temperatures, fan speeds and modes.
System, Auto Boost rules, a draggable Curve or Manual. Save your own named modes, with separate settings on battery.
Try it · Curve mode
Drag the points to shape the curve, then change the temperature and watch the fan follow.
Fan modes
4
Let macOS decide, boost when a sensor crosses a threshold, drag a curve, or set the speed yourself. Then save your own named modes.
Fail-safe
Whatever happens, your fans go straight back to macOS.
Sensors
On battery
Separate settings for when your Mac runs on battery.
Keep an eye on it
Look back at your temperatures, get alerted, and log everything to CSV.
Requirements
Version 1.2.0, free under GPL-3.0.


Kaiku · Finnish for “echo”
Record and transcribe your calls without anything joining the meeting, then search them and chat with them. Can’t be there? Send a bot that runs on your Mac. No subscription, and the files stay on your Mac.
macOS 14.2 or later · Apple Silicon and Intel · Free, GPL-3.0


Kaiku captures your microphone and the call audio. Add a title and tags as you start, pause when you need to, and drop bookmarks as you go. Can’t make it? Send the bot instead.
Search every call, play it back, and click any line of the transcript to jump right there. Speakers are labelled, and you can rename them. Or just ask a question in Chat.
Export to Markdown, TXT, SRT, VTT or DOCX, or send action items to Reminders, Things, Linear or a webhook. Add a summary with your own key if you want one.
Watch it work

Meeting bots
0
Kaiku records on your Mac and nothing joins the call. Can’t make it? Send its bot, which runs on your Mac too.
Subscriptions
0
Recordings and transcripts live on your Mac.
Chat
Chat with one call or many, picked by selection, tag, source or period. Answers stream in, and each citation jumps to that moment in the audio.
One window
One sidebar for all three. Press ⌘, for settings, which you can search.
Reader
Words highlight as the audio plays, and a double-click plays from that word. Make the text larger with the A/A control, centered or full width.
Transcription
whisper.cpp is bundled and runs locally, and so does the macOS 26 speech recognizer. Live transcription uses a persistent whisper-server, which is much easier on the battery.
Import
Drop audio or video on the window, the Dock or the menu bar icon, or press ⌘O, and Kaiku transcribes it.
Dictation
Off by default. Hold or toggle a shortcut, with local or cloud speech-to-text and optional AI polish in custom modes.
Search
Smart search runs on your Mac, next to search by text, tag and source.
Automatic
Set auto-record per source: Off, All calls or Chosen sources. Titles come from your calendar.
Speakers
Speaker labels on every transcript, named from the calendar attendees. You can rename them.
Privacy switch
Lowers the input volume of every microphone, so it works with Teams too.
Action items
Action items go to Reminders, Things, Linear and your webhook. Summaries use your own API key.
Connect
A Raycast extension, Shortcuts actions to record, bookmark and fetch transcripts and summaries, calls in Spotlight, and a webhook when a transcript is ready.
Export
5
While you record
Pause mid-call and bookmark the moments that matter, then find them again in the player. The listening mix between you and the call is balanced.
MCP server
One click adds Kaiku to Claude Code, Codex or Claude Desktop. Agents read, search and cite your calls, even with the app closed. Allow it, and they can also rename and tag calls, name speakers, run a transcription or summary again, or hand Kaiku any audio or video file to transcribe and get the text back, kept only if they ask.
Live
Live transcription in a floating window, with Live Assist keeping a running summary and answering your questions mid-call.
Safety nets
Forgotten recordings stop after a silence or a set length, and a crash never costs you the call.
Lean
Silence is trimmed before cloud transcription, each call shows its estimated cost, echo from speakers is removed, and old audio can clean itself up.
Meeting bot
Paste a Google Meet, Teams, Webex or FaceTime link, or pick a meeting from today’s calendar to join now or at its start. The bot runs in a hidden Chrome on your Mac with your name, picture and chat message, records the call, and leaves when everyone else does. Put on the headphones to listen in.
Tidy
Recordings shorter than 30 seconds, by length or by speech, go straight to the Trash before anything is spent on them.


Kiito · Finnish for “a swift dash”
Hold a mouse button and roll the trackball to scroll. The cursor stays exactly where it is.
macOS 26 or later · Apple Silicon and Intel · Free, GPL-3.0


Hold a mouse button and move the trackball. The page scrolls, and the cursor doesn’t move an inch.
Speed, acceleration, inertia and per-axis reversal. Scroll freely in 360°, snap to an axis, or lock it.
Exclude the apps where you don’t want it, and hide the menu bar icon if you prefer.
Try it · No trackball needed
Press and hold inside the window, then move. The page dashes along as fast as you move, while the pointer stays where you pressed. Let go and it glides on.
Keyboard: focus the window and use the arrow keys.
Cursor styles
8
Axis
360°
Scroll freely in every direction, snap to an axis, or lock to one.
Feel
Let a scroll glide on after you stop, and reverse each axis on its own.
Profiles
4+ yours
Default, Precise, Fast and Reading are built in. Add as many of your own as you like.
Clicks
Pass-through click keeps the trigger button useful. Or turn on Stay On: click once to start scrolling, again to stop.
Manners
Per-app exclusions, and a menu bar icon you can hide.
Made for trackballs
Choose which button triggers scrolling, set the speed and acceleration, and keep your cursor exactly where you left it.


Mittari · Finnish for “gauge”
Claude Code and Codex usage in your menu bar, read from the logs on your Mac. See how far into the 5-hour window you are, and when it resets.
macOS 26 or later · Apple Silicon and Intel · Free, GPL-3.0



The ring in the menu bar fills with the current 5-hour window, next to the time to reset. One click shows the week, today, models, projects and Codex.
Tokens per hour, day or week, from 24 hours to a year, with 5-hour windows shaded and a breakdown by project and model.
Plan limits aren’t in the logs, so 100% is your busiest earlier window, or a budget you set. Prices are yours to edit, and past costs stay put.
Watch it work · Sample data
Claude Code sessions run and the ring in the menu bar fills with the 5-hour window. It turns orange at 75% and red at 90%, and lets you know once when it gets there.
Illustrative values. 100% is your busiest earlier 5-hour window.


Menu bar
5
Pick what sits in the menu bar and put it in any order. The ring turns orange and red past your thresholds.
Two tools
Tokens and costs for Claude Code. Codex sessions and active time, plus tokens and plan limits when your Codex version logs them.
Statistics
1year
From the last 24 hours up to a year, by project and by model.
Costs
List-price equivalents, priced with the prices valid on each date. Add new prices when they change.
Notifications
At most one notification per level and window, at thresholds you set.
Privacy
Mittari never writes to your logs and makes no network requests. No account, no server.


Kello · Finnish for “clock”
A calendar in your menu bar. The month, today’s events, your reminders and the next meeting, with its Join button, one click from anywhere. Weeks start on Monday or Sunday, or follow your Mac.
macOS 26 or later · Apple Silicon and Intel · Free, GPL-3.0



Click the date in the menu bar for the month, today’s events and what’s next, with a Join button when the next meeting has a link.
Pick which calendars and reminder lists show up, and which one marks holidays. Everything comes from the accounts already set up on your Mac.
Add the cities your colleagues are in and see their time next to yours, in the popover or right in the menu bar.
Menu bar
4
Drag weekday, date, year and time into the order you like, pick the text size, or write your own pattern.
Meetings
Zoom, Google Meet and Teams links are found in the event, with a countdown and a notification before it starts.
Quick entry
“Dentist tomorrow at 3pm” becomes an event, in English or Italian. Edit or delete anything right from the popover.
Reminders
Your reminders sit next to your events. Tick them off, or add new ones with a due time.
Privacy
Kello reads your calendars through macOS. No account, no server, no analytics.

Every app is released under GPL-3.0. No price tag, no subscription. Read every line, build them yourself, or send a pull request.
GNU General Public License v3.0
Menu bar temperatures and fan control for Apple Silicon.
Record and transcribe calls on your Mac, with no subscription and a bot only when you send one.
Hold a button, roll the trackball, scroll. The cursor stays put.
Claude Code and Codex usage in the menu bar, read from local logs.
A calendar in the menu bar: events, reminders and meetings at a glance.
If one of them saves you a subscription, you can buy me a coffee.
Buy me a coffeeGetting started
The apps are signed and notarized by Apple, so they open right away with no warnings. Once installed, each one checks for updates on its own and installs them with one click.
Open the .dmg and drag the app into your Applications folder.
Signed and notarized by Apple, so it opens right away. No warnings, no extra clicks.
From then on, the app checks for updates on its own and installs them with one click.
Prefer Homebrew? Run brew install --cask gabry-ts/tap/<app>, swapping <app> for tuuli, kaiku, kiito, mittari or kello.





They’re small tools made for everyday use on a Mac, and they’re released under GPL-3.0. That keeps them free and the code open for anyone to read, build or improve.
Short Finnish words are easy to say and easy to remember. Tuuli means “wind”, Kaiku means “echo”, Kiito is a swift run, a dash, from the verb kiitää, to speed along, Mittari means “gauge” and Kello means “clock”. Each one describes what the app does.
Tuuli, Kiito, Mittari and Kello work entirely on your Mac. Mittari only reads your Claude Code and Codex logs, and never writes to them. Kello reads your calendars and reminders through macOS, which keeps syncing them with your accounts. Kaiku keeps recordings and transcripts on your Mac too.
Audio leaves your Mac only if you choose a cloud transcription engine (ElevenLabs, OpenAI or Groq), and summaries and chat use the provider and API key you choose. With the bundled whisper.cpp, transcription stays local.
No. None of the apps include analytics or telemetry. Tuuli, Kiito, Mittari and Kello make no network requests at all. Kaiku only sends audio and text to the providers you choose, and with the bundled whisper.cpp nothing leaves your Mac. The code is open, so you can check.
From version 1.0.0, each app checks for updates on its own and installs them with one click. If you’re still on an earlier version, download the latest release once. Earlier versions have no updater, so that first download has to be manual.
Updating to 1.0.0, Kiito will ask you to re-grant Accessibility, since the new signature resets it, and Tuuli may prompt you to update its fan helper.
Want a heads-up? Watch the repository on GitHub and choose “Releases only”.
All five apps are universal and run on Apple Silicon and Intel. On Tuuli, Intel support is experimental since its fan and sensor code is untested there. Kaiku needs macOS 14.2, while Tuuli, Kiito, Mittari and Kello need macOS 26.