A tiny macOS menu bar app with two live counters:
- 🎂 Birthday progress — the percentage of days elapsed since your last birthday, toward the next one.
- ⏰ Day progress — how much of today has already gone, from midnight to midnight.
Click the menu bar icon to open a popover with a dot-grid visualization of both counters — one dot per day of your birthday cycle, one per hour of today, with the current moment lit up.
- Native Swift, AppKit + SwiftUI, no Electron. Sits quietly as a menu bar accessory (no Dock icon).
- 100% local: your birth date is stored in
UserDefaultson your Mac. No network calls, no account, no telemetry. - Only day + month are asked for — the year is irrelevant since the birthday repeats every year.
- Menu bar appearance is configurable: Emoji style (🎂 / ⏰, colorful) or Minimal style (SF Symbols, monochrome, follows system light/dark menu bar).
- Pick which icon represents each counter from a small built-in set.
Download the latest TimeFlies.zip from the Releases page, then:
- Unzip it and move
TimeFlies.appto/Applications. - Right-click → Open (required on first launch, the build is unsigned).
- Set your birth date when the popover asks for it.
To launch it automatically at login: System Settings → General → Login Items → add TimeFlies.app.
Pure Swift Package Manager, no Xcode project needed.
git clone https://github.com/esseti/timeflies.git
cd timeflies
./build_app.sh # builds a release binary and packages TimeFlies.app
open TimeFlies.appRequires macOS 13+ and Xcode command line tools.
- Click the menu bar text to open the popover.
- The top grid shows your birthday-cycle progress (one dot per day, current day in white).
- The bottom strip shows today's progress (one dot per hour).
- Click the gear icon in the popover to change your birth date or the menu bar icon/style.
Sources/TimeFlies/
main.swift entry point
AppDelegate.swift status item + popover wiring, menu bar rendering
BirthdayModel.swift date math (birthday cycle / day progress)
TimeFliesViewModel.swift observable state, UserDefaults-backed settings
ContentView.swift popover UI
DotGridView.swift dot-grid component
SettingsView.swift birth date + menu bar style/icon settings
IconSettings.swift icon catalog and storage
build_app.sh builds and packages TimeFlies.app
docs/index.html landing page (GitHub Pages)
MIT — see LICENSE.