Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

360 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hora Calendar

hora Calendar

The Mac calendar Google never built.

Pure SwiftUI. Direct Google Calendar API. Zero compromises.
No Electron. No CalDAV. Just fast.

Download on the Mac App Store Website

macOS 26+ Swift 6 SwiftUI Google Calendar API No Electron

Website  ·  Features  ·  Blog  ·  Discord  ·  Privacy  ·  Terms  ·  @moto_szama  ·  Bluesky


hora Calendar demo


Note

hora is native and real-time. Built in SwiftUI, talking to the Google Calendar REST API directly — no CalDAV translation layer, no web views, no Electron. Changes land instantly via APN push sync instead of polling. It sips battery and opens in milliseconds.

Why hora

hora Fantastical Notion Calendar
Pure SwiftUI + AppKit Yes Partly No
No Electron / no web views Yes Yes No
Direct Google Calendar API Yes CalDAV Yes
Google Meet link on create One click Yes Yes
Built-in Pomodoro timer Yes No No
Menu bar countdown widget Yes Yes Yes
Availability sharing (FreeBusy) Yes Yes Yes
Localized languages 9 8 Limited
Pricing $49 one-time or $30/yr $100+/yr Free

Keyboard shortcuts

The shortcuts you already know from Google Calendar — natively, everywhere.

D Day  ·  W Week  ·  M Month  ·  T Today  ·  C New event  ·  / Search  ·  J / K Prev / Next  ·  Z Undo  ·  A Share availability

Features

15 shipped features — click to collapse
Feature Description
Day, Week & Month 3 Calendar Views Apple Calendar–style layout with smooth transitions between views.
Drag & Drop Full CRUD Create, edit, resize, delete events. Feels native because it is.
One Click Google Meet Add conference links when creating events. Join instantly.
D/W/M · C · / · J/K · T Keyboard Shortcuts Google Calendar shortcuts you already know.
Real-time APN Push Sync Apple Push Notifications deliver calendar changes instantly — no polling, no waiting.
Incremental Smart Sync Configurable intervals as a fallback. Native macOS notifications for upcoming events.
Multi-Account Color-Coded Multiple Google accounts, each with its own color scheme.
Autocomplete Attendees Invite people from Google Contacts with instant suggestions.
Pomodoro Focus Timer Built-in pomodoro timer with configurable work/break intervals.
Cmd+Shift+A Availability Sharing Query free slots via FreeBusy API, copy to clipboard.
Menu Bar Widget Pill-shaped indicators, upcoming events, countdown to next meeting.
Recurring Events Full support for recurring rules with exception handling.
9 Languages Localization EN, PL, DE, ES, FR, IT, JA, PT, ZH.
Undo/Redo Cmd+Z Full undo/redo for create, edit, and delete operations.
Light & Dark Appearance Matches system appearance. Polished contrast in both modes.

See horacal.app/features for the full list.

Architecture

flowchart LR
  U([You]) --> UI[SwiftUI + AppKit]
  UI <--> Core[HoraCore]
  Core <--> Sync[HoraSync]
  Sync <--> Cache[(SwiftData cache)]
  Sync <--> API[HoraGoogleAPI]
  API <-->|REST, incremental| GCal[(Google Calendar)]
  API -.->|OAuth 2.0 + PKCE| Google{{Google}}
  GCal ==>|APN push, real-time| Sync
Loading

Three Swift Packages, one main target. SwiftData is a local cache — Google Calendar is the source of truth.

Stack

Language Swift 6
UI SwiftUI + AppKit
API Google Calendar REST API (direct, no CalDAV)
Auth OAuth 2.0 + PKCE via ASWebAuthenticationSession
Storage SwiftData (local cache, Google API as source of truth)
Architecture 3 Swift Packages (HoraCore, HoraGoogleAPI, HoraSync) + main target
CI/CD Xcode Cloud (builds + TestFlight) + GitHub Actions (tests on PR)
Distribution Mac App Store / TestFlight

Journey

Tip

24+ features shipped, 25+ bugs squashed. Full changelog on the blog.

Shipped

Day / Week / Month views · full CRUD · drag & drop · resize · multi-account sync · Google OAuth · incremental sync · keyboard shortcuts · menu bar widget · pomodoro timer · availability sharing · invitation management · calendar visibility · recurring events · 9 languages · light & dark mode · 5/7-day week toggle · one-click meeting join · window state restore · Xcode Cloud CI/CD.

Working on now

Apple Intelligence — smart scheduling, focus time planning, meeting prep briefings · Quick "Running late" reply · Email attendees from event detail · Invitation "Ignore" option · Light mode contrast polish · Dynamic Dock icon (macOS 26) · Localization native review.

What's next

# Milestone
1 ✅ Mac App Store launch — live now
2 iOS & iPadOS TestFlight — same SwiftUI foundation, designed for touch (public beta coming soon)
3 macOS, iOS & iPadOS 27 App Store launch — one hora across every Apple platform

Links

Website horacal.app
Blog horacal.app/blog (RSS)
Community Discord
X / Twitter @moto_szama
Bluesky @szamski.bsky.social
Developer szamowski.dev

Built with SwiftUI + AppKit. No Electron. No web views. Pure native macOS.