Skip to content

esseti/timeflies

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TimeFlies

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.

Features

  • Native Swift, AppKit + SwiftUI, no Electron. Sits quietly as a menu bar accessory (no Dock icon).
  • 100% local: your birth date is stored in UserDefaults on 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.

Install

Download the latest TimeFlies.zip from the Releases page, then:

  1. Unzip it and move TimeFlies.app to /Applications.
  2. Right-click → Open (required on first launch, the build is unsigned).
  3. Set your birth date when the popover asks for it.

To launch it automatically at login: System Settings → General → Login Items → add TimeFlies.app.

Build from source

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.app

Requires macOS 13+ and Xcode command line tools.

Usage

  • 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.

Project layout

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)

License

MIT — see LICENSE.

About

Show a progress of time, it flies

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors