tldev/dorsoPublic

A macOS app that blurs your screen when you slouch.

AI summary: An open-source, fast, and customizable status page system.

Stars
2.5K
Forks
72
Watchers
4
Open issues
3
Open PRs
0
Contributors
~14
Commits
297
Branches
9

SwiftMITCreated Jan 24, 2026Last push 18d agoLatest release v1.15.1+3 stars this week+3 this month

Star history

since Feb 15, 2026
01K2KFeb 2026Apr 2026Jun 2026Aug 2026
2.5K stars as of Aug 6, 2026, tracked back to Feb 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-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: 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: 4 commits2026-01-25: 27 commits2026-01-26: 31 commits2026-01-27: 15 commits2026-01-28: 0 commits2026-01-29: 11 commits2026-01-30: 3 commits2026-01-31: 20 commits2026-02-01: 1 commit2026-02-02: 7 commits2026-02-03: 10 commits2026-02-04: 17 commits2026-02-05: 12 commits2026-02-06: 6 commits2026-02-07: 1 commit2026-02-08: 0 commits2026-02-09: 0 commits2026-02-10: 0 commits2026-02-11: 0 commits2026-02-12: 5 commits2026-02-13: 0 commits2026-02-14: 0 commits2026-02-15: 1 commit2026-02-16: 14 commits2026-02-17: 0 commits2026-02-18: 1 commit2026-02-19: 0 commits2026-02-20: 1 commit2026-02-21: 0 commits2026-02-22: 3 commits2026-02-23: 0 commits2026-02-24: 0 commits2026-02-25: 0 commits2026-02-26: 0 commits2026-02-27: 0 commits2026-02-28: 4 commits2026-03-01: 1 commit2026-03-02: 0 commits2026-03-03: 7 commits2026-03-04: 6 commits2026-03-05: 2 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: 4 commits2026-03-14: 0 commits2026-03-15: 0 commits2026-03-16: 1 commit2026-03-17: 0 commits2026-03-18: 0 commits2026-03-19: 2 commits2026-03-20: 0 commits2026-03-21: 0 commits2026-03-22: 0 commits2026-03-23: 0 commits2026-03-24: 0 commits2026-03-25: 0 commits2026-03-26: 0 commits2026-03-27: 0 commits2026-03-28: 0 commits2026-03-29: 0 commits2026-03-30: 0 commits2026-03-31: 0 commits2026-04-01: 0 commits2026-04-02: 1 commit2026-04-03: 0 commits2026-04-04: 0 commits2026-04-05: 0 commits2026-04-06: 0 commits2026-04-07: 0 commits2026-04-08: 0 commits2026-04-09: 0 commits2026-04-10: 0 commits2026-04-11: 0 commits2026-04-12: 0 commits2026-04-13: 0 commits2026-04-14: 0 commits2026-04-15: 1 commit2026-04-16: 0 commits2026-04-17: 0 commits2026-04-18: 0 commits2026-04-19: 0 commits2026-04-20: 0 commits2026-04-21: 1 commit2026-04-22: 0 commits2026-04-23: 0 commits2026-04-24: 5 commits2026-04-25: 0 commits2026-04-26: 0 commits2026-04-27: 0 commits2026-04-28: 0 commits2026-04-29: 1 commit2026-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: 0 commits2026-05-09: 0 commits2026-05-10: 0 commits2026-05-11: 0 commits2026-05-12: 0 commits2026-05-13: 0 commits2026-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: 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: 1 commit2026-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: 3 commits2026-07-07: 6 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: 0 commits2026-07-17: 5 commits2026-07-18: 0 commits2026-07-19: 20 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
261 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Permissive license

    MIT

What dorso does

Dorso provides a lightweight and customizable status page solution for monitoring services. It offers real-time status updates and incident tracking. The platform is designed to be easily deployable with minimal configuration. It helps organizations maintain transparency about system uptime and ongoing issues.

DevOps teams and system administrators who need a simple, self-hosted status page. It is ideal for companies prioritizing transparency without heavy enterprise overhead.

  • Real-time monitoring: Tracks service health and displays current status instantly.
  • Incident management: Allows administrators to log and update ongoing system incidents.
  • Customizable design: Supports theming and layout changes to match brand identity.
  • Lightweight deployment: Easy to self-host with minimal server requirements.
  • Notification integration: Connects with external tools to alert users of downtime.

Where teams use it

Public status page

Provide customers with a transparent view of system uptime and incidents.

Internal monitoring

Track internal microservices and infrastructure health for the DevOps team.

Incident communication

Centralize communication during outages to reduce support ticket volume.

Uptime reporting

Generate historical reports of service reliability for SLAs.

Getting started: docker-compose up -d

README

main branch

A macOS app that blurs your screen when you slouch.

Dorso monitors your posture in real-time using either your Mac's camera or AirPods motion sensors. When it detects that you're slouching, it progressively blurs your screen to remind you to sit up straight. Maintain good posture, and the blur clears instantly.

Download on the App Store

Download Latest Release Discord

Join our Discord to share feedback, get help, suggest features, and connect with other Dorso users!

dorso-preview.mp4

Screenshots

Onboarding - Choose Tracking Method Settings

Menu Bar Analytics Dashboard

Features

  • Two tracking methods - Use your camera (Vision framework) or AirPods motion sensors
  • AirPods motion tracking - Track posture without camera using AirPods Pro, Max, or 3rd gen+ (macOS 14+)
  • Progressive screen blur - Gentle visual reminder that intensifies with worse posture
  • Menu bar controls - Easy access to settings, calibration, and status from the menu bar
  • Multi-display support - Works across all connected monitors
  • Privacy-focused - All processing happens locally on your Mac
  • Lightweight - Runs as a background app with minimal resource usage
  • Optional Dock visibility - Show in Dock and Cmd+Tab app switcher when preferred
  • No account required - No signup, no cloud, no tracking

Installation

Homebrew (Recommended)

brew install dorso

Manual Download

  1. Download the latest Dorso-vX.X.X.dmg or .zip from the Releases page
  2. Open the DMG and drag Dorso.app to your Applications folder
  3. Launch normally - no Gatekeeper warnings (app is signed and notarized)

Permissions

Camera Mode: Requires camera access. When you first launch the app, macOS will ask for permission.

AirPods Mode: Requires Motion & Fitness Activity permission (macOS 14+). This allows the app to read head motion data from your AirPods.

If you accidentally denied permission, you can grant it later in System Settings > Privacy & Security > Camera or Motion & Fitness Activity.

Usage

Once launched, Dorso appears in your menu bar with a person icon. The app continuously monitors your posture and applies screen blur when slouching is detected.

Menu Bar Controls

Click the menu bar icon to access:

  • Status - Shows current state (Monitoring, Slouching, Good Posture, etc.)
  • Enabled - Toggle posture monitoring on/off
  • Recalibrate - Reset your baseline posture (sit up straight, then click)
  • Settings - Open the settings window to configure all options
  • Quit - Exit the application

Settings Window

The Settings window (accessible from the menu bar) provides:

  • Sensitivity - Adjust how sensitive the slouch detection is (5 levels from Low to Very High)
  • Dead Zone - Set the tolerance before blur kicks in (5 levels from None to Very Large)
  • Blur when away - Blur screen when you step away from camera
  • Show in dock - Show app in Dock and Cmd+Tab app switcher
  • Pause on the go - Auto-pause when laptop display becomes the only screen
  • Compatibility mode - Use public macOS APIs for blur (try this if blur doesn't appear)

Tips for Best Results

  • Position your camera at eye level when possible
  • Ensure adequate lighting on your face
  • Sit at a consistent distance from your screen
  • The app works best when your shoulders are visible

How It Works

Dorso offers two tracking methods:

Camera Mode

Uses Apple's Vision framework to detect body pose landmarks:

  • Body Pose Detection: Tracks nose and head position
  • Face Detection Fallback: When full body isn't visible, tracks face position
  • Posture Analysis: Measures vertical head position against your calibrated baseline

AirPods Mode

Uses motion sensors in compatible AirPods (Pro, Max, 3rd gen+):

  • Head Tilt Detection: Tracks pitch angle of your head
  • No Camera Required: Works without any camera access
  • Automatic Pause: Pauses when AirPods are removed from ears

The screen blur uses macOS's private CoreGraphics API by default for efficient, system-level blur. If the blur doesn't appear on your system, enable Compatibility Mode from settings to use NSVisualEffectView instead.

Building from Source

Requirements

  • macOS 13.0 (Ventura) or later
  • Xcode Command Line Tools (xcode-select --install)

Build

git clone https://github.com/tldev/dorso.git
cd dorso
./build.sh

The built app will be in build/Dorso.app.

Build Options

# Standard build
./build.sh

# Build with release archive (.zip)
./build.sh --release

Manual Build

swiftc -O \
    -framework AppKit \
    -framework AVFoundation \
    -framework Vision \
    -framework CoreImage \
    -o Dorso \
    Sources/*.swift

Known Limitations

  • Camera mode: Requires a working camera with adequate lighting and clear view of upper body/face
  • AirPods mode: Requires macOS 14.0+ and compatible AirPods (Pro, Max, or 3rd generation+)

Command Interface

Dorso exposes a file-based command interface for external control:

Command Description
capture Take a photo and analyze pose
blur <0-64> Set blur level manually
quit Exit the application

Write commands to /tmp/dorso-command. Responses appear in /tmp/dorso-response.

System Requirements

  • macOS 13.0 (Ventura) or later
  • Camera (built-in or external)
  • Approximately 10MB disk space

Privacy

Dorso processes all video data locally on your Mac. No images or data are ever sent to external servers. The camera feed is used solely for posture detection and is never stored or transmitted.

License

MIT License - see LICENSE for details.

Project Structure

dorso/
├── Sources/
│   ├── main.swift                  # App entry point
│   ├── AppDelegate.swift           # Main app coordinator and state machine
│   ├── PostureDetector.swift       # Protocol for posture detection methods
│   ├── CameraPostureDetector.swift # Camera-based detection (Vision framework)
│   ├── AirPodsPostureDetector.swift # AirPods motion-based detection
│   ├── Models.swift                # Shared types (settings keys, profile data, app state)
│   ├── Persistence.swift           # Settings and profile storage
│   ├── DisplayManager.swift        # Display detection and configuration
│   ├── MenuBar.swift               # Menu bar setup and management
│   ├── SettingsWindow.swift        # SwiftUI settings window
│   ├── OnboardingWindow.swift      # Tracking method selection UI
│   ├── CalibrationWindow.swift     # Calibration UI
│   └── BlurOverlay.swift           # Screen blur overlay management
├── build.sh                        # Build script
├── release.sh                      # Release automation
└── AppIcon.icns                    # App icon

Contributing

Contributions are welcome! Please feel free to submit issues and pull requests.

Acknowledgments

  • Built with Apple's Vision framework for body pose detection
  • Uses private CoreGraphics API for blur, with NSVisualEffectView fallback
  • Inspired by the need for better posture during long coding sessions

Linux version

Want this on Linux? See postured or dorso-linux.

Contributors

View on GitHub

Recent activity

commits and pull requests

Recent open issues

view all

Releases and announcements

67 total
  1. Dorso v1.15.1v1.15.1Jul 19, 2026529 downloads

    ## What's New ### Bug Fixes - **Appearance selection always sticks** - Choosing Auto, Light, or Dark in Settings now applies immediately and stays applied after a relaunch. - **No more color flicker** - Toggles keep Dorso's colors when switching appearance instead of briefly flashing your system accent color. ## Installation 1. Download `Dorso-v1.15.1.dmg` or `Dorso-v1.15.1.zip` 2. Drag `Dorso.app` to Applications 3. Launch normally - no warnings! 4. Grant camera permission and complete calibration Already on 1.14.0 or later? Dorso will offer this update itself, or use "Check for Updates" in the menu bar. ## Requirements - macOS 13.0 (Ventura) or later

  2. Dorso v1.15.0v1.15.0Jul 19, 20261.3K downloads

    ## What's New ### Redesigned Settings - **A cleaner, calmer Settings window** - Everything is now organized into clear sections, sliders and buttons follow one consistent style, device status is spelled out instead of cryptic icons, and tooltips appear quickly with easier-to-hit targets. Still just as compact. ### Appearance - **Choose your look** - New Auto / Light / Dark option in Settings. Auto follows your system like before, or pin Dorso to the mode you prefer. <img src="https://github.com/tldev/dorso/releases/download/v1.15.0/dorso-settings.png" alt="The redesigned Settings window" width="480"> ## Installation 1. Download `Dorso-v1.15.0.dmg` or `Dorso-v1.15.0.zip` 2. Drag `Dorso.app` to Applications 3. Launch normally - no warnings! 4. Grant camera permission and complete calibration Already on 1.14.0 or later? Dorso will offer this update itself, or use "Check for Updates" in the menu bar. ## Requirements - macOS 13.0 (Ventura) or later

  3. Dorso v1.14.2v1.14.2Jul 19, 202626 downloads

    ## What's New ### Bug Fix - **Update alerts now show up front and center** - When a background update check found a new version, the alert could open invisibly behind your other windows and go unnoticed. It now comes right to the front. Manual checks and silent automatic installs are unaffected. ## Installation 1. Download `Dorso-v1.14.2.dmg` or `Dorso-v1.14.2.zip` 2. Drag `Dorso.app` to Applications 3. Launch normally - no warnings! 4. Grant camera permission and complete calibration Already on 1.14.0 or later? Dorso will offer this update itself, or use "Check for Updates" in the menu bar. ## Requirements - macOS 13.0 (Ventura) or later

  4. Dorso v1.14.1v1.14.1Jul 19, 20269 downloads

    ## What's New ### Bug Fix - **Blur no longer sticks when switching compatibility mode** - Toggling compatibility mode in Settings while your screen was blurred could leave the blur stuck on permanently. It now clears cleanly and, if you are still slouching, fades back in as expected. ## Installation 1. Download `Dorso-v1.14.1.dmg` or `Dorso-v1.14.1.zip` 2. Drag `Dorso.app` to Applications 3. Launch normally - no warnings! 4. Grant camera permission and complete calibration Already on 1.14.0? Dorso will offer this update automatically, or use "Check for Updates" in the menu bar. ## Requirements - macOS 13.0 (Ventura) or later

  5. Dorso v1.14.0v1.14.0Jul 19, 20267 downloads

    ## What's New ### Auto-Update - **Dorso now updates itself** - When a new version is out, Dorso offers to download and install it for you. No more manual downloads. Check anytime with "Check for Updates" in the menu bar, and turn background checks on or off in Settings. Thanks to @Shadow1363 for suggesting this! ([#83](https://github.com/tldev/dorso/issues/83)) App Store installs are unaffected and keep updating through the App Store. ## Installation 1. Download `Dorso-v1.14.0.dmg` or `Dorso-v1.14.0.zip` 2. Drag `Dorso.app` to Applications 3. Launch normally - no warnings! 4. Grant camera permission and complete calibration This is the release that enables auto-updates, so it needs one last manual download. Updates after this one arrive on their own. ## Requirements - macOS 13.0 (Ventura) or later

Commits per week

last 52 weeks
1070Week 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: 0 commitsWeek of 2026-01-04: 0 commitsWeek of 2026-01-11: 0 commitsWeek of 2026-01-18: 4 commitsWeek of 2026-01-25: 107 commitsWeek of 2026-02-01: 54 commitsWeek of 2026-02-08: 5 commitsWeek of 2026-02-15: 17 commitsWeek of 2026-02-22: 7 commitsWeek of 2026-03-01: 16 commitsWeek of 2026-03-08: 4 commitsWeek of 2026-03-15: 3 commitsWeek of 2026-03-22: 0 commitsWeek of 2026-03-29: 1 commitsWeek of 2026-04-05: 0 commitsWeek of 2026-04-12: 1 commitsWeek of 2026-04-19: 6 commitsWeek of 2026-04-26: 1 commitsWeek of 2026-05-03: 0 commitsWeek of 2026-05-10: 0 commitsWeek of 2026-05-17: 0 commitsWeek of 2026-05-24: 1 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: 9 commitsWeek of 2026-07-12: 5 commitsWeek of 2026-07-19: 20 commitsWeek of 2026-07-26: 0 commitsAug 2, 2025Jul 26, 2026
261 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 — 0 commitsSun 4:00 — 0 commitsSun 5:00 — 1 commitsSun 6:00 — 0 commitsSun 7:00 — 0 commitsSun 8:00 — 0 commitsSun 9:00 — 2 commitsSun 10:00 — 15 commitsSun 11:00 — 8 commitsSun 12:00 — 3 commitsSun 13:00 — 2 commitsSun 14:00 — 3 commitsSun 15:00 — 3 commitsSun 16:00 — 3 commitsSun 17:00 — 2 commitsSun 18:00 — 3 commitsSun 19:00 — 0 commitsSun 20:00 — 0 commitsSun 21:00 — 7 commitsSun 22:00 — 1 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 — 2 commitsMon 9:00 — 0 commitsMon 10:00 — 9 commitsMon 11:00 — 6 commitsMon 12:00 — 2 commitsMon 13:00 — 4 commitsMon 14:00 — 5 commitsMon 15:00 — 9 commitsMon 16:00 — 10 commitsMon 17:00 — 5 commitsMon 18:00 — 0 commitsMon 19:00 — 2 commitsMon 20:00 — 2 commitsMon 21:00 — 0 commitsMon 22:00 — 0 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 — 0 commitsTue 10:00 — 5 commitsTue 11:00 — 2 commitsTue 12:00 — 1 commitsTue 13:00 — 8 commitsTue 14:00 — 5 commitsTue 15:00 — 8 commitsTue 16:00 — 1 commitsTue 17:00 — 0 commitsTue 18:00 — 0 commitsTue 19:00 — 0 commitsTue 20:00 — 9 commitsTue 21:00 — 0 commitsTue 22:00 — 0 commitsTue 23:00 — 0 commitsWed 0:00 — 0 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 — 4 commitsWed 9:00 — 4 commitsWed 10:00 — 3 commitsWed 11:00 — 2 commitsWed 12:00 — 0 commitsWed 13:00 — 1 commitsWed 14:00 — 0 commitsWed 15:00 — 0 commitsWed 16:00 — 0 commitsWed 17:00 — 4 commitsWed 18:00 — 3 commitsWed 19:00 — 2 commitsWed 20:00 — 0 commitsWed 21:00 — 4 commitsWed 22:00 — 0 commitsWed 23:00 — 0 commitsThu 0:00 — 1 commitsThu 1:00 — 0 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 — 6 commitsThu 9:00 — 4 commitsThu 10:00 — 2 commitsThu 11:00 — 1 commitsThu 12:00 — 8 commitsThu 13:00 — 0 commitsThu 14:00 — 2 commitsThu 15:00 — 4 commitsThu 16:00 — 0 commitsThu 17:00 — 0 commitsThu 18:00 — 0 commitsThu 19:00 — 4 commitsThu 20:00 — 0 commitsThu 21:00 — 0 commitsThu 22:00 — 0 commitsThu 23:00 — 0 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 — 0 commitsFri 9:00 — 7 commitsFri 10:00 — 0 commitsFri 11:00 — 4 commitsFri 12:00 — 4 commitsFri 13:00 — 2 commitsFri 14:00 — 0 commitsFri 15:00 — 0 commitsFri 16:00 — 0 commitsFri 17:00 — 0 commitsFri 18:00 — 0 commitsFri 19:00 — 0 commitsFri 20:00 — 2 commitsFri 21:00 — 4 commitsFri 22:00 — 1 commitsFri 23:00 — 0 commitsSat 0:00 — 0 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 — 1 commitsSat 9:00 — 0 commitsSat 10:00 — 0 commitsSat 11:00 — 0 commitsSat 12:00 — 6 commitsSat 13:00 — 1 commitsSat 14:00 — 3 commitsSat 15:00 — 2 commitsSat 16:00 — 3 commitsSat 17:00 — 2 commitsSat 18:00 — 1 commitsSat 19:00 — 0 commitsSat 20:00 — 5 commitsSat 21:00 — 2 commitsSat 22:00 — 0 commitsSat 23:00 — 3 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.

Who is committing

last 52 weeks
Maintainer commits260 (88%)
Community commits37 (12%)

297 commits in total over the last year.

  • 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