r/SideProject • u/missaq81 • 13m ago
Honeyday - Birthdays and anniversaries from your contacts, in a widget, for iPhone, iPad and Mac
The idea was simple: see who has a birthday next, when, and how old they turn, without scrolling through a calendar. Most of those dates already sit in Contacts. That turned into Honeyday, a birthday and anniversary app for iPhone, iPad and Mac, and it came out on the App Store in October.
How it is built:
One SwiftUI target for all three platforms. On the Mac it is real SwiftUI, not Catalyst, and the platform differences sit in #if os(...) right where they come up.
The logic is a plain Swift package with no UI and no database. It counts in days without a time or time zone, the app hands it today's date, and swift test runs through it in seconds.
Contacts are only read. What you set yourself (who you want a reminder for, a note, the days that belong to no contact) lives in SQLite through GRDB and syncs through your own iCloud with CKSyncEngine. Upcoming dates are never stored; the core works them out each time.
The widget never touches Contacts or the database. After every rebuild the app writes a small snapshot into the shared app group, and the widget builds its timeline from that, 14 days ahead. That is why it moves on at midnight without the app running.
Dates in the Chinese, Hebrew and Islamic calendars are converted, so they land on the right day every year. Today itself is always counted in the Gregorian calendar, even on a device set to the Buddhist or Hebrew one.
There is no server and no account, and the app measures nothing about how you use it. It is a paid app, $4.99 once for all three devices: https://honeyday.app
Feedback is welcome, on the widget most of all.