A delightful macOS menu bar app for tracking multiple timezones
Find a file
Sami Hindi 5beb3b8211 Fix timezone add modal bugs
- Replace sheet presentation with inline view switching
  (sheets don't work well in MenuBarExtra popovers)
- Add proper "Back" button navigation
- Add hover indicator on timezone items showing + icon
- Fix dismiss behavior that was closing entire app

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 14:31:12 +01:00
.github/workflows Add GitHub Actions CI/CD 2026-02-05 14:18:54 +01:00
Timezony Fix timezone add modal bugs 2026-02-05 14:31:12 +01:00
Timezony.xcodeproj Initial release of Timezony 2026-02-05 14:17:08 +01:00
.gitignore Initial release of Timezony 2026-02-05 14:17:08 +01:00
CONTRIBUTING.md Update documentation with correct GitHub username 2026-02-05 14:17:43 +01:00
icon.png Initial release of Timezony 2026-02-05 14:17:08 +01:00
LICENSE Add GitHub Actions CI/CD 2026-02-05 14:18:54 +01:00
README.md Add screenshot to README 2026-02-05 14:20:38 +01:00
screenshot.png Add screenshot to README 2026-02-05 14:20:38 +01:00

Timezony Icon

Timezony

A delightful macOS menu bar app for tracking multiple timezones

CI Release Platform Swift 5.9 License Stars

SwiftUI No Dependencies Menu Bar Only


Features

Visual Time Bars

Beautiful 24-hour gradient bars showing day/night cycles at a glance. Instantly see if it's daytime or nighttime in any timezone.

Time Converter

Need to schedule a call across timezones? Enter any time, select its timezone, and see what time that is everywhere else.

Clean Menu Bar Experience

Lives quietly in your menu bar with no Dock icon. Click to open, click away to close.

Effortless Management

  • Search and add any timezone by city name
  • Drag to reorder your timezones
  • Hover to reveal delete button
  • Persists your preferences automatically

Screenshot

Timezony Screenshot


Installation

Download

Download the latest release from the Releases page.

Build from Source

Requirements:

  • macOS 14.0 (Sonoma) or later
  • Xcode 15.0 or later
# Clone the repository
git clone https://github.com/FujiwaraChoki/timezony.git
cd timezony

# Open in Xcode
open Timezony.xcodeproj

# Or build from command line
xcodebuild -project Timezony.xcodeproj -scheme Timezony -configuration Release build

Usage

  1. Launch Timezony - The app appears in your menu bar (clock icon)
  2. Click the icon - Opens the timezone panel
  3. Add timezones - Click the + button to search and add cities
  4. Convert times - Expand "Convert Time" to see times across all zones
  5. Reorder - Drag timezones to arrange them
  6. Remove - Hover over a timezone and click the × button

Default Timezones

Timezony comes pre-loaded with:

  • New York (America/New_York)
  • London (Europe/London)
  • Tokyo (Asia/Tokyo)

Architecture

Timezony/
├── TimeZonyApp.swift           # App entry point with MenuBarExtra
├── Models/
│   └── SavedTimezone.swift     # Timezone data model
├── ViewModels/
│   └── TimezoneManager.swift   # State management & persistence
├── Views/
│   ├── ContentView.swift       # Main popover view
│   ├── TimezoneRowView.swift   # Individual timezone display
│   ├── TimeBarView.swift       # Visual 24h gradient bar
│   ├── TimeConverterView.swift # Time conversion panel
│   └── AddTimezoneView.swift   # Search & add timezones
└── Utilities/
    └── Extensions.swift        # Helpers & color palette

Tech Stack

  • SwiftUI - Native declarative UI
  • MenuBarExtra - Modern menu bar API (macOS 13+)
  • @Observable - Swift 5.9 observation framework
  • TimelineView - Efficient per-second updates
  • UserDefaults - Lightweight persistence

Color Palette

Color Hex Usage
Midnight #1A1A2E Night time gradient
Dawn #FF7E5F Sunrise gradient
Daylight #FEB47B Daytime gradient
Dusk #764BA2 Sunset gradient
Coral #FF6B6B Accent color

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Setup

# Clone your fork
git clone https://github.com/YOUR_USERNAME/timezony.git

# Open in Xcode
open Timezony.xcodeproj

License

This project is licensed under the MIT License - see the LICENSE file for details.


Acknowledgments

  • Built with SwiftUI and love
  • Inspired by the need to coordinate across timezones
  • SF Symbols for the beautiful icons

Made with ❤️ for remote teams everywhere