matthartman/ghost-pepperPublic

100% private on-device voice models for speech-to-text and meeting transcription on macOS

AI summary: A 100% private, on-device voice model application for speech-to-text and transcription on macOS.

Stars
3.1K
+9 today
Forks
186
Watchers
7
Open issues
51
Open PRs
13
Contributors
~8
Commits
433
Branches
4

SwiftNo licenseCreated Mar 20, 2026Last push 11d agoLatest release v2.4.4+40 stars this week+52 this month

Star history

since Mar 15, 2026
01K2K3KMar 2026May 2026Jun 2026Aug 2026
3.1K stars as of Aug 7, 2026, tracked back to Mar 15, 2026. Historical curve reconstructed from public GitHub event archives, calibrated to the current total.

Contribution activity

commits per day, last 52 weeks
AugSepOctNovDecJanFebMarAprMayJunJulMonWedFri2025-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-08: 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: 0 commits2026-01-01: 0 commits2026-01-02: 0 commits2026-01-03: 0 commits2026-01-04: 0 commits2026-01-05: 0 commits2026-01-06: 0 commits2026-01-07: 0 commits2026-01-08: 0 commits2026-01-09: 0 commits2026-01-10: 0 commits2026-01-11: 0 commits2026-01-12: 0 commits2026-01-13: 0 commits2026-01-14: 0 commits2026-01-15: 0 commits2026-01-16: 0 commits2026-01-17: 0 commits2026-01-18: 0 commits2026-01-19: 0 commits2026-01-20: 0 commits2026-01-21: 0 commits2026-01-22: 0 commits2026-01-23: 0 commits2026-01-24: 0 commits2026-01-25: 0 commits2026-01-26: 0 commits2026-01-27: 0 commits2026-01-28: 0 commits2026-01-29: 0 commits2026-01-30: 0 commits2026-01-31: 0 commits2026-02-01: 0 commits2026-02-02: 0 commits2026-02-03: 0 commits2026-02-04: 0 commits2026-02-05: 0 commits2026-02-06: 0 commits2026-02-07: 0 commits2026-02-08: 0 commits2026-02-09: 0 commits2026-02-10: 0 commits2026-02-11: 0 commits2026-02-12: 0 commits2026-02-13: 0 commits2026-02-14: 0 commits2026-02-15: 0 commits2026-02-16: 0 commits2026-02-17: 0 commits2026-02-18: 0 commits2026-02-19: 0 commits2026-02-20: 0 commits2026-02-21: 0 commits2026-02-22: 0 commits2026-02-23: 0 commits2026-02-24: 0 commits2026-02-25: 0 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: 0 commits2026-03-07: 0 commits2026-03-08: 0 commits2026-03-09: 0 commits2026-03-10: 0 commits2026-03-11: 0 commits2026-03-12: 0 commits2026-03-13: 0 commits2026-03-14: 0 commits2026-03-15: 0 commits2026-03-16: 0 commits2026-03-17: 0 commits2026-03-18: 0 commits2026-03-19: 20 commits2026-03-20: 69 commits2026-03-21: 2 commits2026-03-22: 0 commits2026-03-23: 10 commits2026-03-24: 11 commits2026-03-25: 46 commits2026-03-26: 36 commits2026-03-27: 7 commits2026-03-28: 12 commits2026-03-29: 1 commit2026-03-30: 2 commits2026-03-31: 0 commits2026-04-01: 0 commits2026-04-02: 0 commits2026-04-03: 4 commits2026-04-04: 1 commit2026-04-05: 0 commits2026-04-06: 12 commits2026-04-07: 0 commits2026-04-08: 8 commits2026-04-09: 12 commits2026-04-10: 1 commit2026-04-11: 0 commits2026-04-12: 0 commits2026-04-13: 5 commits2026-04-14: 15 commits2026-04-15: 3 commits2026-04-16: 0 commits2026-04-17: 13 commits2026-04-18: 0 commits2026-04-19: 2 commits2026-04-20: 10 commits2026-04-21: 8 commits2026-04-22: 3 commits2026-04-23: 1 commit2026-04-24: 0 commits2026-04-25: 0 commits2026-04-26: 12 commits2026-04-27: 6 commits2026-04-28: 38 commits2026-04-29: 11 commits2026-04-30: 3 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: 0 commits2026-05-09: 0 commits2026-05-10: 0 commits2026-05-11: 0 commits2026-05-12: 1 commit2026-05-13: 1 commit2026-05-14: 0 commits2026-05-15: 0 commits2026-05-16: 0 commits2026-05-17: 0 commits2026-05-18: 0 commits2026-05-19: 0 commits2026-05-20: 1 commit2026-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: 0 commits2026-05-30: 0 commits2026-05-31: 0 commits2026-06-01: 0 commits2026-06-02: 0 commits2026-06-03: 0 commits2026-06-04: 0 commits2026-06-05: 0 commits2026-06-06: 0 commits2026-06-07: 0 commits2026-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: 0 commits2026-06-15: 0 commits2026-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: 0 commits2026-07-07: 0 commits2026-07-08: 0 commits2026-07-09: 0 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: 2 commits2026-07-17: 7 commits2026-07-18: 0 commits2026-07-19: 0 commits2026-07-20: 1 commit2026-07-21: 0 commits2026-07-22: 2 commits2026-07-23: 0 commits2026-07-24: 0 commits2026-07-25: 0 commits2026-07-26: 7 commits2026-07-27: 1 commit2026-07-28: 0 commits2026-07-29: 0 commits2026-07-30: 0 commits2026-07-31: 0 commits2026-08-01: 0 commits
407 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Continuous integration

    Automated checks passing

What ghost-pepper does

Ghost Pepper provides fully local, on-device voice transcription for macOS using advanced speech-to-text models. It processes all audio directly on the user's machine, ensuring zero data is ever sent to cloud APIs, guaranteeing complete privacy. It is designed to run efficiently on macOS hardware, providing real-time or near-real-time transcription for meetings, dictation, and voice notes. The tool offers a secure alternative to cloud-based transcription services for users handling sensitive information. It leverages local hardware acceleration for optimal performance.

Professionals dealing with sensitive information, such as lawyers, doctors, or executives, who need private transcription. macOS users who want reliable speech-to-text without relying on cloud services.

  • Local processing: Runs entirely on-device, meaning no audio data ever leaves your Mac.
  • Complete privacy: Operates without requiring any cloud APIs, subscriptions, or internet connection.
  • macOS optimization: Built specifically for macOS 14.0+, likely leveraging Apple Silicon's neural engine.
  • Meeting transcription: Capable of transcribing long-form audio like meetings and interviews.
  • Standalone application: Provided as a ready-to-use .dmg file rather than requiring complex developer setup.

Where teams use it

Confidential meeting transcription

Recording and transcribing discussions containing sensitive corporate or personal data.

Offline dictation

Converting speech to text in environments without internet access, like flights.

Journalism and interviews

Creating transcripts of recorded interviews without sharing raw audio with third parties.

Accessibility tool

Providing a reliable, private speech-to-text interface for daily computer use.

Getting started: Download the GhostPepper.dmg from the latest release and install it on macOS 14.0+.

README

main branch
Ghost Pepper

Ghost Pepper

100% private on-device voice models for speech-to-text and meeting transcription on macOS. No cloud APIs, no data leaves your machine.

Download for Mac

macOS 14.0+ · Apple Silicon (M1+) · Free & open source

GitHub stars   License: MIT   100% Local   50+ Languages

Features

  • Hold Control to talk — release to transcribe and paste into any text field
  • Meeting transcription — record calls with notes, transcript, and AI-generated summaries saved as markdown
  • Runs entirely on your Mac — models run locally via Apple Silicon, nothing is sent anywhere
  • Smart cleanup — local LLM removes filler words and handles self-corrections
  • Menu bar app — lives in your menu bar, no dock icon, launches at login
  • Customizable — edit the cleanup prompt, pick your mic, toggle features on/off

How it works

Ghost Pepper uses open-source models that run entirely on your Mac. Models download automatically and are cached locally.

Speech models

Model Size Best for
Whisper tiny.en ~75 MB Fastest, English only
Whisper small.en (default) ~466 MB Best accuracy, English only
Whisper small (multilingual) ~466 MB Multi-language support
Parakeet v3 (25 languages) ~1.4 GB Multi-language via FluidAudio
Qwen3-ASR 0.6B int8 (50+ languages) ~900 MB Highest multilingual quality, macOS 15+ required
Nemotron Speech Streaming 0.6B 8-bit ~633 MB Low-latency English streaming via MLX Audio
Nemotron 3.5 ASR Streaming 0.6B 8-bit ~721 MB Low-latency multilingual streaming via MLX Audio

Cleanup models

Model Size Speed
Qwen 3.5 0.8B (default) ~535 MB Very fast (~1-2s)
Qwen 3.5 2B ~1.3 GB Fast (~4-5s)
Qwen 3.5 4B ~2.8 GB Full quality (~5-7s)

Speech models powered by WhisperKit, FluidAudio, and MLX Audio. Cleanup models powered by LLM.swift. All models served by Hugging Face.

Getting started

Download the app:

  1. Download GhostPepper.dmg
  2. Open the DMG, drag Ghost Pepper to Applications
  3. Grant Microphone and Accessibility permissions when prompted
  4. Hold Control and speak

"Apple could not verify" warning? On macOS Sequoia, you may see a Gatekeeper warning the first time you open the app. Go to System Settings > Privacy & Security, scroll down, and click Open Anyway next to the Ghost Pepper message. Click Confirm in the popup. You only need to do this once.

Build from source:

  1. Clone the repo
  2. Open GhostPepper.xcodeproj in Xcode
  3. Build and run (Cmd+R)

Permissions

Permission Why
Microphone Record your voice
Accessibility Global hotkey and paste via simulated keystrokes

Privacy audit

Every core feature runs 100% on your Mac — verified by AI code review. No trust required, just point Claude at the repo and ask.

Feature Status What was checked
Speech-to-text ✅ Local WhisperKit/FluidAudio/MLX Audio inference, no audio sent anywhere
Text cleanup ✅ Local Qwen LLM runs on-device via LLM.swift
Audio recording ✅ Local AVAudioEngine + ScreenCaptureKit, no streaming
Meeting transcription & storage ✅ Local Chunked transcription, markdown files on disk
Summary generation ✅ Local Local LLM summarization, no cloud API
OCR & screen capture ✅ Local Apple Vision framework, on-device
File storage ✅ Local Markdown to local filesystem, no cloud sync
Analytics & telemetry ✅ Local Local-only usage counters (UserDefaults) power the in-app Usage report panel. No Firebase, Mixpanel, Sentry, or any tracking SDK.

Optional cloud features (disabled by default, require your own API keys): Zo AI chat, Trello integration, Granola meeting import. Model downloads are one-time from Hugging Face.

Verify it yourself: run cat PRIVACY_AUDIT.md in Claude Code and ask it to review the codebase against the audit prompt. The full audit includes the exact prompt and detailed file-level results.

Good to know

  • Launch at login is enabled by default on first run. You can toggle it off in Settings.
  • Everything stays local — transcription history and recordings are stored on your Mac only. Nothing is sent to the cloud. You can clear history anytime in Settings.

Acknowledgments

Built with WhisperKit, LLM.swift, Hugging Face, and Sparkle.

License

MIT

Why "Ghost Pepper"?

All models run locally, no private data leaves your computer. And it's spicy to offer something for free that other apps have raised $80M to build.

Enterprise / managed devices

Ghost Pepper requires Accessibility permission, which normally needs admin access to grant. On managed devices, IT admins can pre-approve this via an MDM profile (Jamf, Kandji, Mosaic, etc.) using a Privacy Preferences Policy Control (PPPC) payload:

Field Value
Bundle ID Use the signed app's bundle identifier
Team ID Use the signing team's Apple Developer team ID
Permission Accessibility (com.apple.security.accessibility)

Questions or deployment issues: open an issue or use your team's internal support channel.

View on GitHub

Recent activity

commits and pull requests

Releases and announcements

21 total
  1. Ghost Pepper v2.4.4 🌶️v2.4.4Jul 27, 20262.4K downloads

    Fixes automatic cross-app pasting by restoring the Accessibility API access Ghost Pepper needs to detect focused input fields. Keeps Hardened Runtime, Developer ID signing, and Apple notarization.

  2. Ghost Pepper v2.4.2 🌶️v2.4.2Jul 18, 20261.6K downloads

    Hotfix release for Keychain prompt behavior.\n\n- Avoid eager Keychain reads during onboarding/startup\n- Keep Google Calendar connection state without forcing token access just to render UI\n- Defer optional integration secrets until the relevant feature is used

  3. Ghost Pepper v2.4.1v2.4.1Jul 18, 202656 downloads

    Release v2.4.1 with onboarding model readiness fixes, Granola API-only import updates, privacy preflight fixes, and sanitized private-name test fixtures.

  4. Ghost Pepper v2.4.0 🌶️v2.4.0May 21, 20263.7K downloads

    ## What's new in 2.4.0 **Agentic meeting Q&A** — ask questions across all your meetings; the agent greps/reads transcripts with an Anthropic backend, multi-turn conversations, inline model picker, and live cost display. **Indexing & dossiers** — build People/topic indexes from your meetings; dossiers render as markdown, open as tabs, support wikilinks (Cmd+click opens in a new tab), and track generation provenance. Two-step "Apply to dossier" merges Q&A findings. **Cmd+K command palette** — fuzzy search across people, meetings, and notes with arrow-key navigation. **Calendar** — Today's events list, multi-calendar support, offline cache, and auto-refresh after a recording stops. **Other** — usage report, model buttons in the sidebar, Granola auto-import, Cmd+N for a new personal note, and assorted UI polish. --- Auto-updates roll out via Sparkle within 24 hours. Notarized by Apple.

  5. Ghost Pepper v2.3.0 🌶️v2.3.0Apr 22, 20263.2K downloads

    ## What's new in v2.3.0 ### Meeting transcription now enabled by default - Existing users get meeting transcription auto-enabled on update - "What's New" dialog announces the feature on first launch ### Detect meeting name & attendees - **Detect button** grabs meeting name from Zoom/Teams window title + OCR attendee names from video tiles - Prioritizes native Zoom over browser windows - Strips pronouns (she/her, they/them) from names, filters Zoom internal windows (ZM_*) - Retries at 3s, 15s, 30s, 60s to catch late joiners - Attendee names shown as chips ### Summary improvements - **Inline prompt editor** — click "Customize" on the Summary tab to edit the prompt and pick a model before generating - Topic-based summary prompt inspired by Granola's style ### Speaker identity (by @obra) - Voice recognition labels speakers across recordings - Recognized voice store persists speaker profiles locally - Speaker-tagged transcription lab reruns - Diarization fixes and fallbacks ### UI improvements - Resizable sidebar (drag divider) - Sidebar open by default - "Imported from Granola" badge + green icon for imported files - No misleading "Others" speaker badge on Granola transcripts - "U

Code frequency

additions and deletions
+23.7K-23.7KWeek of 2026-03-15: +9,046 linesWeek of 2026-03-15: -5,199 linesWeek of 2026-03-22: +23,699 linesWeek of 2026-03-22: -3,924 linesWeek of 2026-03-29: +904 linesWeek of 2026-03-29: -18 linesWeek of 2026-04-05: +7,076 linesWeek of 2026-04-05: -1,020 linesWeek of 2026-04-12: +5,487 linesWeek of 2026-04-12: -1,325 linesWeek of 2026-04-19: +4,622 linesWeek of 2026-04-19: -343 linesWeek of 2026-04-26: +14,599 linesWeek of 2026-04-26: -2,190 linesWeek of 2026-05-03: +0 linesWeek of 2026-05-03: -0 linesWeek of 2026-05-10: +3,170 linesWeek of 2026-05-10: -338 linesWeek of 2026-05-17: +12 linesWeek of 2026-05-17: -0 linesWeek of 2026-05-24: +0 linesWeek of 2026-05-24: -0 linesWeek of 2026-05-31: +0 linesWeek of 2026-05-31: -0 linesWeek of 2026-06-07: +0 linesWeek of 2026-06-07: -0 linesWeek of 2026-06-14: +0 linesWeek of 2026-06-14: -0 linesWeek of 2026-06-21: +0 linesWeek of 2026-06-21: -0 linesWeek of 2026-06-28: +0 linesWeek of 2026-06-28: -0 linesWeek of 2026-07-05: +0 linesWeek of 2026-07-05: -0 linesWeek of 2026-07-12: +21,961 linesWeek of 2026-07-12: -10,484 linesWeek of 2026-07-19: +456 linesWeek of 2026-07-19: -52 linesWeek of 2026-07-26: +941 linesWeek of 2026-07-26: -182 linesWeek of 2026-08-02: +0 linesWeek of 2026-08-02: -0 linesMar 15, 2026Aug 2, 2026
+92K lines added, -25.1K removed over the last year.

Commits per week

last 52 weeks
1220Week of 2025-08-03: 0 commitsWeek of 2025-08-10: 0 commitsWeek of 2025-08-17: 0 commitsWeek of 2025-08-24: 0 commitsWeek of 2025-08-31: 0 commitsWeek of 2025-09-07: 0 commitsWeek of 2025-09-14: 0 commitsWeek of 2025-09-21: 0 commitsWeek of 2025-09-28: 0 commitsWeek of 2025-10-05: 0 commitsWeek of 2025-10-12: 0 commitsWeek of 2025-10-19: 0 commitsWeek of 2025-10-26: 0 commitsWeek of 2025-11-02: 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: 0 commitsWeek of 2026-01-04: 0 commitsWeek of 2026-01-11: 0 commitsWeek of 2026-01-18: 0 commitsWeek of 2026-01-25: 0 commitsWeek of 2026-02-01: 0 commitsWeek of 2026-02-08: 0 commitsWeek of 2026-02-15: 0 commitsWeek of 2026-02-22: 0 commitsWeek of 2026-03-01: 0 commitsWeek of 2026-03-08: 0 commitsWeek of 2026-03-15: 91 commitsWeek of 2026-03-22: 122 commitsWeek of 2026-03-29: 8 commitsWeek of 2026-04-05: 33 commitsWeek of 2026-04-12: 36 commitsWeek of 2026-04-19: 24 commitsWeek of 2026-04-26: 70 commitsWeek of 2026-05-03: 0 commitsWeek of 2026-05-10: 2 commitsWeek of 2026-05-17: 1 commitsWeek of 2026-05-24: 0 commitsWeek of 2026-05-31: 0 commitsWeek of 2026-06-07: 0 commitsWeek of 2026-06-14: 0 commitsWeek of 2026-06-21: 0 commitsWeek of 2026-06-28: 0 commitsWeek of 2026-07-05: 0 commitsWeek of 2026-07-12: 9 commitsWeek of 2026-07-19: 3 commitsWeek of 2026-07-26: 8 commitsAug 3, 2025Jul 26, 2026
407 commits in the last 52 weeks.

When work happens

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

Who is committing

last 52 weeks
Maintainer commits270 (62%)
Community commits163 (38%)

433 commits in total over the last year.

DateListRankStars gained
Apr 7, 2026daily#19+183
  • 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

  • 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

  • permissionlesstech/bitchat

    bluetooth mesh chat, IRC vibes

    34.7K stars · Swift

  • manaflow-ai/cmux

    Open source Ghostty-based macOS terminal with vertical tabs and notifications for AI coding agents. Built for multitasking, organization, and programmability.

    25.7K stars · Swift

  • steipete/CodexBar

    Show usage stats for OpenAI Codex and Claude Code, without having to login.

    19.7K stars · Swift

  • supertone-inc/supertonic

    Lightning-Fast, On-Device, Multilingual TTS — running natively via ONNX.

    13.6K stars · Swift