A minimal macOS menubar app to track freelance work sessions with projects, summaries, and local-only storage.
Features • Screenshots • Getting Started • Usage • Data Management • Tech Stack
Best option (recommended): macOS Screenshot tool
- Launch the app from Xcode so it runs in Debug.
- Arrange the menubar popover or main window.
- Press
Shift + Command + 4(orShift + Command + 5for the full HUD). - Save into
screenshots/with the names above.
Xcode option:
Xcode doesn’t have a dedicated macOS UI screenshot tool like iOS Simulator. The most reliable workflow is still the macOS Screenshot tool while the app is running from Xcode.
- Native macOS-style main window with App Store-inspired sidebar and glassy cards
- Menubar dashboard with live timer, quick actions, project picker, and recent sessions
- Single-project editing sheet (rename, recolor, active state, rates)
- Project + company management with color tags
- Hourly rate and optional monthly retainer per project
- Earnings toggle with currency selection
- Manual session entry and editable sessions
- Current / previous Day, Week, Month, Year summaries with charts
- Project detail view with stats + session list
- First-run onboarding
- Local Core Data storage (offline-first)
- CSV export and full data reset
- Backup export + import (JSON) with merge/replace options
- macOS 13+
- Xcode 15+
- Open
Freelance Timer.xcodeprojin Xcode. - Select My Mac as the destination.
- Build & Run.
- Complete onboarding (create your first company + project).
- Set your currency in
Settings. - Start the timer from the menubar.
- Pause or finish when you’re done.
- Use the main window to view summaries, edit sessions, or manage projects.
- Export CSV:
Settings → Export CSV… - Export Backup:
Settings → Export Backup… - Import Backup:
Settings → Import Backup…(Replace or Merge) - Reset All Data:
Settings → Reset All Data…
Download the latest DMG from GitHub Releases:
This project includes a GitHub Actions workflow that builds and publishes a versioned DMG automatically when you push a tag:
git tag v1.2.0git push origin v1.2.0
The workflow will build a Release app, create a DMG, and attach it to a new GitHub Release.
- Swift 5.9
- SwiftUI
- Core Data
- Charts
- App icon assets live in
Freelance Timer/Assets.xcassets/AppIcon.appiconset. - Place a 1024×1024 logo PNG at
screenshots/logo.pngfor the README header.


