ronitsingh10/FineTunePublic

FineTune, a macOS menu bar app for per-app volume control, multi-device output, audio routing, and 10-band EQ. Free and open-source alternative to SoundSource.

AI summary: An open-source macOS menu bar app for per-app volume control and audio routing.

Stars
8.5K
+20 today
Forks
293
Watchers
24
Open issues
144
Open PRs
21
Contributors
~25
Commits
660
Branches
2

SwiftGPL-3.0Created Jan 18, 2026Last push 29d agoLatest release v1.9.0+129 stars this week+129 this month

Star history

since Jan 18, 2026
02.5K5K7.5KJan 2026Mar 2026May 2026Aug 2026
8.5K stars as of Aug 6, 2026, tracked back to Jan 18, 2026. Historical curve reconstructed from public GitHub event archives, calibrated to the current total.

Contribution activity

commits per day, last 52 weeks
AugSepOctNovDecJanFebMarAprMayJunJulMonWedFri2025-08-02: 0 commits2025-08-03: 0 commits2025-08-04: 0 commits2025-08-05: 0 commits2025-08-06: 0 commits2025-08-07: 0 commits2025-08-08: 0 commits2025-08-09: 0 commits2025-08-10: 0 commits2025-08-11: 0 commits2025-08-12: 0 commits2025-08-13: 0 commits2025-08-14: 0 commits2025-08-15: 0 commits2025-08-16: 0 commits2025-08-17: 0 commits2025-08-18: 0 commits2025-08-19: 0 commits2025-08-20: 0 commits2025-08-21: 0 commits2025-08-22: 0 commits2025-08-23: 0 commits2025-08-24: 0 commits2025-08-25: 0 commits2025-08-26: 0 commits2025-08-27: 0 commits2025-08-28: 0 commits2025-08-29: 0 commits2025-08-30: 0 commits2025-08-31: 0 commits2025-09-01: 0 commits2025-09-02: 0 commits2025-09-03: 0 commits2025-09-04: 0 commits2025-09-05: 0 commits2025-09-06: 0 commits2025-09-07: 0 commits2025-09-08: 0 commits2025-09-09: 0 commits2025-09-10: 0 commits2025-09-11: 0 commits2025-09-12: 0 commits2025-09-13: 0 commits2025-09-14: 0 commits2025-09-15: 0 commits2025-09-16: 0 commits2025-09-17: 0 commits2025-09-18: 0 commits2025-09-19: 0 commits2025-09-20: 0 commits2025-09-21: 0 commits2025-09-22: 0 commits2025-09-23: 0 commits2025-09-24: 0 commits2025-09-25: 0 commits2025-09-26: 0 commits2025-09-27: 0 commits2025-09-28: 0 commits2025-09-29: 0 commits2025-09-30: 0 commits2025-10-01: 0 commits2025-10-02: 0 commits2025-10-03: 0 commits2025-10-04: 0 commits2025-10-05: 0 commits2025-10-06: 0 commits2025-10-07: 0 commits2025-10-08: 0 commits2025-10-09: 0 commits2025-10-10: 0 commits2025-10-11: 0 commits2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 0 commits2025-10-16: 0 commits2025-10-17: 0 commits2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 0 commits2025-11-06: 0 commits2025-11-07: 0 commits2025-11-09: 0 commits2025-11-10: 0 commits2025-11-11: 0 commits2025-11-12: 0 commits2025-11-13: 0 commits2025-11-14: 0 commits2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 0 commits2025-11-18: 0 commits2025-11-19: 0 commits2025-11-20: 0 commits2025-11-21: 0 commits2025-11-22: 0 commits2025-11-23: 0 commits2025-11-24: 0 commits2025-11-25: 0 commits2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 0 commits2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 0 commits2025-12-02: 0 commits2025-12-03: 0 commits2025-12-04: 0 commits2025-12-05: 0 commits2025-12-06: 0 commits2025-12-07: 0 commits2025-12-08: 0 commits2025-12-09: 0 commits2025-12-10: 0 commits2025-12-11: 0 commits2025-12-12: 0 commits2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 0 commits2025-12-16: 0 commits2025-12-17: 0 commits2025-12-18: 0 commits2025-12-19: 0 commits2025-12-20: 0 commits2025-12-21: 0 commits2025-12-22: 0 commits2025-12-23: 0 commits2025-12-24: 0 commits2025-12-25: 0 commits2025-12-26: 0 commits2025-12-27: 0 commits2025-12-28: 0 commits2025-12-29: 0 commits2025-12-30: 0 commits2025-12-31: 23 commits2026-01-01: 18 commits2026-01-02: 14 commits2026-01-03: 21 commits2026-01-04: 3 commits2026-01-05: 0 commits2026-01-06: 2 commits2026-01-07: 6 commits2026-01-08: 0 commits2026-01-09: 2 commits2026-01-10: 1 commit2026-01-11: 12 commits2026-01-12: 2 commits2026-01-13: 7 commits2026-01-14: 0 commits2026-01-15: 0 commits2026-01-16: 0 commits2026-01-17: 12 commits2026-01-18: 11 commits2026-01-19: 0 commits2026-01-20: 4 commits2026-01-21: 2 commits2026-01-22: 2 commits2026-01-23: 1 commit2026-01-24: 6 commits2026-01-25: 10 commits2026-01-26: 14 commits2026-01-27: 0 commits2026-01-28: 5 commits2026-01-29: 0 commits2026-01-30: 12 commits2026-01-31: 15 commits2026-02-01: 4 commits2026-02-02: 0 commits2026-02-03: 2 commits2026-02-04: 1 commit2026-02-05: 0 commits2026-02-06: 0 commits2026-02-07: 0 commits2026-02-08: 0 commits2026-02-09: 0 commits2026-02-10: 7 commits2026-02-11: 12 commits2026-02-12: 1 commit2026-02-13: 0 commits2026-02-14: 1 commit2026-02-15: 0 commits2026-02-16: 0 commits2026-02-17: 0 commits2026-02-18: 0 commits2026-02-19: 0 commits2026-02-20: 1 commit2026-02-21: 30 commits2026-02-22: 9 commits2026-02-23: 0 commits2026-02-24: 19 commits2026-02-25: 4 commits2026-02-26: 0 commits2026-02-27: 0 commits2026-02-28: 0 commits2026-03-01: 0 commits2026-03-02: 0 commits2026-03-03: 0 commits2026-03-04: 0 commits2026-03-05: 0 commits2026-03-06: 17 commits2026-03-07: 0 commits2026-03-08: 11 commits2026-03-09: 8 commits2026-03-10: 4 commits2026-03-11: 0 commits2026-03-12: 0 commits2026-03-13: 0 commits2026-03-14: 10 commits2026-03-15: 8 commits2026-03-16: 9 commits2026-03-17: 12 commits2026-03-18: 14 commits2026-03-19: 0 commits2026-03-20: 7 commits2026-03-21: 0 commits2026-03-22: 1 commit2026-03-23: 0 commits2026-03-24: 0 commits2026-03-25: 1 commit2026-03-26: 0 commits2026-03-27: 0 commits2026-03-28: 0 commits2026-03-29: 3 commits2026-03-30: 1 commit2026-03-31: 0 commits2026-04-01: 1 commit2026-04-02: 13 commits2026-04-03: 13 commits2026-04-04: 0 commits2026-04-05: 4 commits2026-04-06: 0 commits2026-04-07: 8 commits2026-04-08: 15 commits2026-04-09: 1 commit2026-04-10: 0 commits2026-04-11: 0 commits2026-04-12: 0 commits2026-04-13: 0 commits2026-04-14: 0 commits2026-04-15: 0 commits2026-04-16: 0 commits2026-04-17: 1 commit2026-04-18: 0 commits2026-04-19: 0 commits2026-04-20: 0 commits2026-04-21: 0 commits2026-04-22: 21 commits2026-04-23: 20 commits2026-04-24: 0 commits2026-04-25: 0 commits2026-04-26: 0 commits2026-04-27: 18 commits2026-04-28: 0 commits2026-04-29: 0 commits2026-04-30: 0 commits2026-05-01: 0 commits2026-05-02: 0 commits2026-05-03: 0 commits2026-05-04: 0 commits2026-05-05: 0 commits2026-05-06: 0 commits2026-05-07: 0 commits2026-05-08: 3 commits2026-05-09: 6 commits2026-05-10: 26 commits2026-05-11: 11 commits2026-05-12: 0 commits2026-05-13: 7 commits2026-05-14: 9 commits2026-05-15: 2 commits2026-05-16: 0 commits2026-05-17: 0 commits2026-05-18: 0 commits2026-05-19: 0 commits2026-05-20: 0 commits2026-05-21: 0 commits2026-05-22: 0 commits2026-05-23: 0 commits2026-05-24: 0 commits2026-05-25: 0 commits2026-05-26: 0 commits2026-05-27: 0 commits2026-05-28: 0 commits2026-05-29: 11 commits2026-05-30: 0 commits2026-05-31: 6 commits2026-06-01: 1 commit2026-06-02: 1 commit2026-06-03: 0 commits2026-06-04: 0 commits2026-06-05: 3 commits2026-06-06: 1 commit2026-06-07: 1 commit2026-06-08: 0 commits2026-06-09: 0 commits2026-06-10: 0 commits2026-06-11: 0 commits2026-06-12: 0 commits2026-06-13: 0 commits2026-06-14: 3 commits2026-06-15: 1 commit2026-06-16: 0 commits2026-06-17: 0 commits2026-06-18: 0 commits2026-06-19: 0 commits2026-06-20: 0 commits2026-06-21: 0 commits2026-06-22: 0 commits2026-06-23: 0 commits2026-06-24: 0 commits2026-06-25: 0 commits2026-06-26: 0 commits2026-06-27: 0 commits2026-06-28: 0 commits2026-06-29: 0 commits2026-06-30: 0 commits2026-07-01: 0 commits2026-07-02: 0 commits2026-07-03: 0 commits2026-07-04: 0 commits2026-07-05: 0 commits2026-07-06: 9 commits2026-07-07: 2 commits2026-07-08: 2 commits2026-07-09: 3 commits2026-07-10: 0 commits2026-07-11: 0 commits2026-07-12: 0 commits2026-07-13: 0 commits2026-07-14: 0 commits2026-07-15: 0 commits2026-07-16: 0 commits2026-07-17: 0 commits2026-07-18: 0 commits2026-07-19: 0 commits2026-07-20: 0 commits2026-07-21: 0 commits2026-07-22: 0 commits2026-07-23: 0 commits2026-07-24: 0 commits2026-07-25: 0 commits2026-07-26: 0 commits2026-07-27: 0 commits2026-07-28: 0 commits2026-07-29: 0 commits2026-07-30: 0 commits2026-07-31: 0 commits2026-08-01: 0 commits
625 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Continuous integration

    Automated checks passing

What FineTune does

Provides granular control over macOS audio by allowing independent volume adjustments for every running application directly from the menu bar. It bypasses system limits by boosting quiet apps up to 4x their normal volume and routing different applications to separate output devices simultaneously. It also features built-in equalization and headphone correction tools to shape output sound.

macOS users, streamers, and audiophiles who need granular, application-level control over their system's audio output.

  • Per-app volume sliders: controls the audio level of individual applications independently of the master system volume
  • Volume boosting: amplifies the audio of quiet applications up to 400% past standard limits
  • Selective audio routing: sends sound from different apps to different speakers or headphones concurrently
  • Audio shaping tools: includes built-in EQ and headphone correction for precise frequency adjustments

Where teams use it

Streamer audio mixing

Routes game audio to headphones while sending a separate music player's output directly to a stream overlay.

Fixing quiet media

Boosts the volume of a poorly mixed video call or quiet web video without making system alerts deafeningly loud.

Headphone calibration

Applies specific EQ profiles to correct the frequency response of specific headphone models on macOS.

Getting started: Download the latest FineTune.dmg from the GitHub releases page.

README

main branch

FineTune app icon

FineTune

Control the volume of every app independently, boost quiet ones up to 4x, route audio to different speakers, and shape your sound with EQ and headphone correction. Lives in your menu bar. Free and open-source.

Download for macOS


Latest Release Downloads License: GPL v3 Tip on
  Ko-fi macOS 15+

English · 简体中文

FineTune popup showing per-app volume control, multi-device output routing with picker popover, AutoEQ headphone correction, and device-level volume sliders

FineTune showing the Brave Browser app row expanded with the EQ panel open and a Vocal Clarity preset selected

Install

Homebrew (recommended)

brew install --cask finetune

ManualDownload latest release

Quick Start

  1. Install FineTune and launch it from your Applications folder
  2. Grant Screen & System Audio Recording permission when prompted
  3. Click the FineTune icon in your menu bar. Apps playing audio appear automatically.

That's it. Adjust sliders, route audio, and explore EQ from the menu bar.

Tip: Want FineTune to auto-switch to a specific device when you connect it? Open edit mode (pencil icon) and drag it above the built-in speakers. This is a one-time setup. Your preferred order is saved permanently.

Features

🎚 Volume Control

  • Per-app volume — Individual sliders and mute for each application
  • Per-app volume boost — 2x / 3x / 4x gain presets
  • Pinned apps — Keep apps visible in the menu bar even when they're not playing, so you can configure volume, EQ, and routing in advance
  • Ignore apps — Completely disengage FineTune from specific apps. Tears down the audio tap so the app returns to normal macOS audio
  • Scroll-wheel volume — Hover any slider in the popup, the HUD, or the EQ panel and scroll to adjust.

⌨️ Keyboard

  • Global volume hotkeys — Bind your own keys to App Volume Up, App Volume Down, and App Mute from Settings → Shortcuts. The "app" is whichever is currently making sound, so volume-down while a YouTube tab plays behind a foreground Terminal turns down YouTube, not the terminal. If nothing is audible, the hotkey falls through to the frontmost app.
  • Toggle the popup from anywhere — Bind a hotkey to Toggle FineTune Popup and the menu bar opens or closes on demand, including from full-screen apps.
  • Configurable step size — Pick Coarse / Normal / Fine / Extra-Fine under Settings → Shortcuts → Volume Step. The same setting governs the F10–F12 media keys, the global hotkeys, and the popup's arrow-key navigation.
  • Hold to ramp, auto-unmute on volume-up — Holding App Volume Up or Down emits repeats the way macOS does for arrow keys. Volume-up while muted unmutes and sets the new level in one keystroke.
  • Drive the popup with the keyboard — Once the popup is open, ↑ / ↓ move between rows, ← / → adjusts the focused row's volume (Shift = 2× step), M toggles mute, Return / Space activates, Tab switches between Output and Input device tabs, Esc closes. The focused row autoscrolls to center as you arrow through.

🔀 Audio Routing

  • Multi-device output — Route audio to multiple devices simultaneously
  • Audio routing — Send apps to different outputs or follow system default
  • Device priority — Choose which device FineTune switches to when a new device connects; auto-fallback on disconnect
  • Auto-restore — When a device reconnects, apps automatically return to it with their volume, routing, and EQ intact

🎛 EQ & Correction

  • 10-band EQ — 20 presets across 5 categories
  • User EQ presets — Save, rename, and manage custom EQ configurations per app
  • AutoEQ headphone correction — Search thousands of headphone profiles or import your own ParametricEQ.txt files for per-device frequency response correction
  • Loudness compensation — Automatic bass and treble correction at low volumes using ISO 226:2023 equal-loudness contours, with real-time level management to keep perceived loudness consistent

🖥 Devices & System

  • Input device control — Monitor and adjust microphone levels
  • Alert volume — Control macOS notification and alert volume from settings
  • Smart volume backend — FineTune auto-picks hardware, DDC, or software volume per device. If the hardware slider on a USB DAC or HDMI output doesn't actually control level, force software volume from the device inspector and FineTune remembers the choice for that device
  • Device inspector — Tap the info button on any device row for sample rate (with picker), transport, UID copy, hog-mode banner, and the software-volume override
  • Hide devices — Eye toggle in edit mode hides output and input devices you don't want in the list, mirroring the app-hide flow
  • Bluetooth device management — Connect paired devices directly from the menu bar
  • Monitor speaker control — Adjust volume on external displays via DDC
  • Media keys & Volume HUD — Opt-in F10–F12 control for the default output device, with a Tahoe-style or Classic-style on-screen HUD. The write goes through FineTune's volume pipeline, so keys keep working on USB interfaces and HDMI outputs where macOS's own keys are greyed out because the hardware slider is broken.
  • Dynamic menu bar icon — Pick from four styles in Settings (Default, Speaker, Waveform, Equalizer). The Speaker style tracks volume live (zero / low / mid / high glyphs) and switches to a slashed speaker when muted. All styles briefly flash the new output's SF Symbol on device switch. Changing style applies instantly, no relaunch required.
  • Menu bar app — Lightweight, always accessible
  • URL schemes — Automate volume, mute, device routing, and more from scripts

🎨 Appearance

  • Light or Dark theme — Settings → General → Theme matches macOS or locks FineTune to Light or Dark. The menu bar popup, every popover, and the volume HUD switch immediately.
  • Popup density — Settings → General → Popup Size picks Compact / Comfortable / Spacious with a live tile preview. Compact fits more apps on small screens; Spacious gives bigger hit areas for trackpads.

Documentation

Contributing

Build from Source

git clone https://github.com/ronitsingh10/FineTune.git
cd FineTune
open FineTune.xcodeproj

Requirements

  • macOS 15.0 (Sequoia) or later
  • Audio capture permission (prompted on first launch)

Support

FineTune is free and open source, forever. If it made your day a little easier, you can buy me a coffee — but genuinely not expected 🙏

Buy me a coffee

License

GPL v3

View on GitHub

Recent activity

commits and pull requests

Releases and announcements

13 total
  1. v1.9.0v1.9.0Jul 9, 202639.9K downloads

    Pick your own icon for any device, and the menu bar icon stops nudging its neighbors. Two DDC fixes land alongside, including the crash on external-monitor volume changes that shipped in v1.8.0. ✨ **New Features** 🎨 **Choose Any Device's Icon** - Open edit mode in the popup and click a device's icon to pick a new one from a catalog of 85 symbols across five categories — Headphones & Earbuds, Speakers, Computers & Displays, Microphones, and Connectors & Other — or search by keyword ("soundbar", "projector", "aux"). - A **Suggested** section leads with FineTune's automatic guess from the device's name and connection type, so the right symbol is usually the first one you see. - Your pick follows the device everywhere it appears: device rows, the app-row output picker, the input row, the System Sounds picker, and the menu bar icon when the device-aware style is on. --- 🐛 **Bug Fixes** - **Changing volume on a DDC monitor no longer crashes the app.** The Swift 6 migration in v1.8.0 left the debounced DDC write isolated to the main actor, and the runtime trapped the moment it ran on the DDC queue instead (#340, #348, #353, #356). Thanks @maleadt (#361). - **External-mon

  2. v1.8.0v1.8.0Jun 14, 202641.1K downloads

    You can now type a volume level straight from the keyboard, and macOS's volume pop is back when you change volume with the media keys. A batch of fixes follows, from Bluetooth call-mode crackle to the first-sound volume blast. ✨ **New Features** ⌨️ **Type a Volume Level from the Keyboard** - Type a number on a keyboard-focused app or device row, then press **Return** to set its volume exactly. **⌫** edits the entry and **Esc** cancels it. 🔊 **Volume-Change Feedback Pop** - Press the volume keys or drag the volume HUD and the macOS feedback pop plays again; FineTune swallows the media keys, which had silenced it. It follows your **System Settings → Sound → "Play feedback when volume is changed"** toggle, and holding **Shift** inverts it for one change. Popup rows stay silent, since the level is already on screen there. 🖥 **Device-Aware Menu Bar Icon** - The menu bar icon can now follow your current output device, so its glyph changes when you switch from speakers to headphones. Thanks @Tarschu (#330). --- 🐛 **Bug Fixes** - **Bluetooth call mode no longer crackles.** Moving a headset between music (A2DP) and call (SCO) profiles used to crackle on the switch, and

  3. v1.7.0v1.7.0May 14, 202645.2K downloads

    ✨ **New Features** ⌨️ **Global Hotkeys** Settings → Shortcuts has a new **Hotkeys** section with four recorders, each with a one-line description so the "App" targeting is obvious at a glance: - **App Volume Up / App Volume Down** — Raises or lowers the volume of whichever app is currently playing audio. If a YouTube tab plays behind a Terminal in the foreground, the hotkey turns down YouTube, not the terminal. If nothing is audible, the hotkey falls through to the frontmost app. - **App Mute** — Mutes or unmutes the same audible-or-frontmost target. - **Toggle FineTune Popup** — Opens or closes the menu bar popup from anywhere, even inside full-screen apps. - **Hold to ramp** — Holding App Volume Up or Down emits repeats the way macOS does for arrow keys, so volume slides smoothly. (Mute and Popup don't repeat.) - **Auto-unmute on volume-up** — Press App Volume Up while muted and FineTune unmutes and sets the new level in one keystroke. ⏱ **Volume Step** - Settings → Shortcuts → **Volume Step** picks **Coarse (12.5%) / Normal (6.25%) / Fine (3.13%) / Extra-Fine (1.56%)**. The setting governs the F10–F12 media keys, the new App hotkeys, and the popup's arrow-key

  4. v1.6.0v1.6.0Apr 23, 202630.9K downloads

    ✨ **New Features** 🎹 **Media Keys & Volume HUD** - **F10 / F11 / F12 now adjust the default output device through FineTune** — The write goes through FineTune's volume pipeline, so the keys respect the per-device software-volume override. That means they keep working on USB interfaces and HDMI outputs where macOS's own keys are greyed out because the hardware slider is broken. - **Two HUD styles** — Pick **Tahoe** (matches macOS 26) or **Classic** (translucent rounded rect) from Settings → Media Keys & HUD - **Reliable at cold launch and after sleep** — FineTune primes a hidden window on launch so keys start working immediately, and a tap-disabled watchdog re-arms the event tap if macOS revokes it after sleep - **Opt-in** — Media keys and the HUD are both off by default. Enable them independently from Settings. Accessibility permission is required; the settings panel surfaces a one-click "Open System Settings" card when it's missing. 🔍 **Device Inspector** - Tap the info button on any device row to open an inspector sheet with: - Sample rate (with a picker to switch between supported rates) - Transport, format, UID (one-click copy) - Hog-mode banner

  5. v1.5.0v1.5.0Apr 8, 202621.7K downloads

    ✨ **New Features** 🎧 **Loudness Compensation & Equalization** - **Fletcher-Munson correction** — At low volumes, human hearing loses sensitivity to bass and treble. FineTune now applies frequency-dependent EQ based on [ISO 226:2023](https://www.iso.org/standard/83117.html) equal-loudness contours to compensate, driven by your device and per-app volume - **Real-time loudness equalization** — Measures signal loudness using K-weighted (ITU-R BS.1770) RMS and applies wideband gain with a soft-knee compressor to keep perceived loudness near a target - Both features behind a single toggle in settings, disabled by default 🔔 **Alert Volume** - Control macOS alert and notification volume directly from FineTune settings - Live sync with System Settings via periodic polling 🔊 **Software Device Volume** - Volume control for output devices that don't support hardware volume (e.g., some USB DACs) - Opt-in via Settings — off by default to avoid conflicts with hardware volume --- 🔧 **Improvements** - **User EQ presets** — Save, rename, and delete custom EQ configurations per app - **AutoEQ panel redesign** — Flat layout with mini toggles, cleaner search and

Commits per week

last 52 weeks
760Week of 2025-08-02: 0 commitsWeek of 2025-08-09: 0 commitsWeek of 2025-08-16: 0 commitsWeek of 2025-08-23: 0 commitsWeek of 2025-08-30: 0 commitsWeek of 2025-09-06: 0 commitsWeek of 2025-09-13: 0 commitsWeek of 2025-09-20: 0 commitsWeek of 2025-09-27: 0 commitsWeek of 2025-10-04: 0 commitsWeek of 2025-10-11: 0 commitsWeek of 2025-10-18: 0 commitsWeek of 2025-10-25: 0 commitsWeek of 2025-11-01: 0 commitsWeek of 2025-11-09: 0 commitsWeek of 2025-11-16: 0 commitsWeek of 2025-11-23: 0 commitsWeek of 2025-11-30: 0 commitsWeek of 2025-12-07: 0 commitsWeek of 2025-12-14: 0 commitsWeek of 2025-12-21: 0 commitsWeek of 2025-12-28: 76 commitsWeek of 2026-01-04: 14 commitsWeek of 2026-01-11: 33 commitsWeek of 2026-01-18: 26 commitsWeek of 2026-01-25: 56 commitsWeek of 2026-02-01: 7 commitsWeek of 2026-02-08: 21 commitsWeek of 2026-02-15: 31 commitsWeek of 2026-02-22: 32 commitsWeek of 2026-03-01: 17 commitsWeek of 2026-03-08: 33 commitsWeek of 2026-03-15: 50 commitsWeek of 2026-03-22: 2 commitsWeek of 2026-03-29: 31 commitsWeek of 2026-04-05: 28 commitsWeek of 2026-04-12: 1 commitsWeek of 2026-04-19: 41 commitsWeek of 2026-04-26: 18 commitsWeek of 2026-05-03: 9 commitsWeek of 2026-05-10: 55 commitsWeek of 2026-05-17: 0 commitsWeek of 2026-05-24: 11 commitsWeek of 2026-05-31: 12 commitsWeek of 2026-06-07: 1 commitsWeek of 2026-06-14: 4 commitsWeek of 2026-06-21: 0 commitsWeek of 2026-06-28: 0 commitsWeek of 2026-07-05: 16 commitsWeek of 2026-07-12: 0 commitsWeek of 2026-07-19: 0 commitsWeek of 2026-07-26: 0 commitsAug 2, 2025Jul 26, 2026
625 commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 8 commitsSun 1:00 — 3 commitsSun 2:00 — 8 commitsSun 3:00 — 18 commitsSun 4:00 — 8 commitsSun 5:00 — 0 commitsSun 6:00 — 0 commitsSun 7:00 — 1 commitsSun 8:00 — 0 commitsSun 9:00 — 0 commitsSun 10:00 — 0 commitsSun 11:00 — 2 commitsSun 12:00 — 2 commitsSun 13:00 — 5 commitsSun 14:00 — 2 commitsSun 15:00 — 1 commitsSun 16:00 — 6 commitsSun 17:00 — 6 commitsSun 18:00 — 11 commitsSun 19:00 — 0 commitsSun 20:00 — 12 commitsSun 21:00 — 7 commitsSun 22:00 — 3 commitsSun 23:00 — 9 commitsMon 0:00 — 13 commitsMon 1:00 — 6 commitsMon 2:00 — 6 commitsMon 3:00 — 1 commitsMon 4:00 — 2 commitsMon 5:00 — 5 commitsMon 6:00 — 7 commitsMon 7:00 — 0 commitsMon 8:00 — 0 commitsMon 9:00 — 0 commitsMon 10:00 — 1 commitsMon 11:00 — 1 commitsMon 12:00 — 0 commitsMon 13:00 — 4 commitsMon 14:00 — 1 commitsMon 15:00 — 0 commitsMon 16:00 — 5 commitsMon 17:00 — 5 commitsMon 18:00 — 6 commitsMon 19:00 — 2 commitsMon 20:00 — 5 commitsMon 21:00 — 2 commitsMon 22:00 — 0 commitsMon 23:00 — 2 commitsTue 0:00 — 0 commitsTue 1:00 — 6 commitsTue 2:00 — 2 commitsTue 3:00 — 1 commitsTue 4:00 — 0 commitsTue 5:00 — 0 commitsTue 6:00 — 0 commitsTue 7:00 — 0 commitsTue 8:00 — 0 commitsTue 9:00 — 1 commitsTue 10:00 — 0 commitsTue 11:00 — 0 commitsTue 12:00 — 0 commitsTue 13:00 — 9 commitsTue 14:00 — 0 commitsTue 15:00 — 0 commitsTue 16:00 — 1 commitsTue 17:00 — 2 commitsTue 18:00 — 0 commitsTue 19:00 — 2 commitsTue 20:00 — 1 commitsTue 21:00 — 7 commitsTue 22:00 — 8 commitsTue 23:00 — 28 commitsWed 0:00 — 3 commitsWed 1:00 — 3 commitsWed 2:00 — 5 commitsWed 3:00 — 5 commitsWed 4:00 — 0 commitsWed 5:00 — 0 commitsWed 6:00 — 2 commitsWed 7:00 — 2 commitsWed 8:00 — 0 commitsWed 9:00 — 1 commitsWed 10:00 — 0 commitsWed 11:00 — 0 commitsWed 12:00 — 0 commitsWed 13:00 — 4 commitsWed 14:00 — 1 commitsWed 15:00 — 4 commitsWed 16:00 — 22 commitsWed 17:00 — 3 commitsWed 18:00 — 13 commitsWed 19:00 — 6 commitsWed 20:00 — 3 commitsWed 21:00 — 11 commitsWed 22:00 — 11 commitsWed 23:00 — 15 commitsThu 0:00 — 3 commitsThu 1:00 — 1 commitsThu 2:00 — 0 commitsThu 3:00 — 0 commitsThu 4:00 — 2 commitsThu 5:00 — 0 commitsThu 6:00 — 0 commitsThu 7:00 — 1 commitsThu 8:00 — 0 commitsThu 9:00 — 1 commitsThu 10:00 — 2 commitsThu 11:00 — 5 commitsThu 12:00 — 1 commitsThu 13:00 — 9 commitsThu 14:00 — 5 commitsThu 15:00 — 6 commitsThu 16:00 — 6 commitsThu 17:00 — 1 commitsThu 18:00 — 13 commitsThu 19:00 — 4 commitsThu 20:00 — 6 commitsThu 21:00 — 1 commitsThu 22:00 — 0 commitsThu 23:00 — 0 commitsFri 0:00 — 6 commitsFri 1:00 — 5 commitsFri 2:00 — 4 commitsFri 3:00 — 1 commitsFri 4:00 — 0 commitsFri 5:00 — 0 commitsFri 6:00 — 0 commitsFri 7:00 — 1 commitsFri 8:00 — 0 commitsFri 9:00 — 0 commitsFri 10:00 — 0 commitsFri 11:00 — 1 commitsFri 12:00 — 0 commitsFri 13:00 — 4 commitsFri 14:00 — 6 commitsFri 15:00 — 3 commitsFri 16:00 — 6 commitsFri 17:00 — 9 commitsFri 18:00 — 3 commitsFri 19:00 — 2 commitsFri 20:00 — 0 commitsFri 21:00 — 21 commitsFri 22:00 — 5 commitsFri 23:00 — 10 commitsSat 0:00 — 0 commitsSat 1:00 — 1 commitsSat 2:00 — 5 commitsSat 3:00 — 0 commitsSat 4:00 — 2 commitsSat 5:00 — 0 commitsSat 6:00 — 9 commitsSat 7:00 — 2 commitsSat 8:00 — 1 commitsSat 9:00 — 1 commitsSat 10:00 — 0 commitsSat 11:00 — 0 commitsSat 12:00 — 1 commitsSat 13:00 — 1 commitsSat 14:00 — 4 commitsSat 15:00 — 23 commitsSat 16:00 — 4 commitsSat 17:00 — 16 commitsSat 18:00 — 10 commitsSat 19:00 — 10 commitsSat 20:00 — 3 commitsSat 21:00 — 1 commitsSat 22:00 — 9 commitsSat 23:00 — 0 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.

Who is committing

last 52 weeks
Maintainer commits611 (93%)
Community commits49 (7%)

660 commits in total over the last year.

DateListRankStars gained
Feb 21, 2026daily#9+192
Jan 20, 2026daily#15+203
  • jaywcjlove/awesome-mac

     This project is dedicated to collecting high-quality macOS software and organizing them systematically by different categories for easy search and use.

    109.3K stars · Swift

  • warpdotdev/warp

    Warp is an agentic development environment, born out of the terminal.

    64K stars · Rust

  • tw93/Mole

    🐹 Clean, uninstall, analyze, optimize, and monitor your Mac from the terminal.

    62.2K stars · Shell

  • tw93/Pake

    🤱🏻 Turn any webpage into a desktop app with one command.

    60.5K stars · Rust

  • apple/container

    A tool for creating and running Linux containers using lightweight virtual machines on a Mac. It is written in Swift, and optimized for Apple silicon.

    48.7K stars · Swift

  • OpenBMB/VoxCPM

    VoxCPM2: Tokenizer-Free TTS for Multilingual Speech Generation, Creative Voice Design, and True-to-Life Cloning

    35K stars · Python