Post

The core idea for the app was to make it behave as if it was part of iOS. Like how iOS creates a "Birthdays" calendar when you add a birthday to a contact, and then shows a reminder on the day (or before). 🎂📆 (1/4) #BuildInPublic #Dev #IndieDev #iOS #iOSDev #Swift #App #AppDev #AnniversaryReminder

2 reposts11 likes

I spent weeks fighting with EventKit just to make a reminder feel like a system event rather than a loud app alert. Replicating that invisible utility of the native Birthdays calendar is a high bar, but it's the only way to make a utility feel native.

The main thing is that it relies on the Contacts data as a source of truth - so it keeps the data in the system. And also, having everything happen privately on-device. To make it feel native, I'm trying to rely on native SwiftUI controls - making the look fit in with the OS.

Love that you’re aiming for native-feeling behavior, those little system-like touches are what make an app feel “obvious” to use. Curious how deep you’re going with integration, are you leaning on EventKit or mostly mirroring the UX in your own data layer? Btw, let's connect and support each other!

I'm letting the user choose how they want it to work. If they want it to just sync Contacts to Calendar, it leans heavily on EventKit (there is a SwiftData layer underneath to keep track of changes). But, since Calendar is another permission, the user can use the app's UI/widgets and reminders.

That's what I wanted @keepdates.app to do - but for everything else. Anniversaries, custom dates, all the random meaningful moments - all handled the same way. 👤→🗓️ And I wanted all to happen automatically - no need to open the app after set up. ✨ (2/4)

So I used the BGProcessingTask to periodically check if any of the dates in Contacts have changed, and keep everything in sync. When a new date is added, it will appear in the calendar automatically - usually overnight, when the phone is charging. 📱💤 (3/4)

And since this happens in the background, I wanted it to feel visible and predictable. So I added a sync history, and an option to get notified when changes are detected and ready to review. 🔔👀 You can download the app here: apps.apple.com/us/app/keepd... (4/4)

apps.apple.comKeepDates - Contact Dates App - App StoreDownload KeepDates - Contact Dates by Ziga Dolar on the App Store. See screenshots, ratings and reviews, user tips, and more apps like KeepDates - Contact Dates…