Inspiration

With a quickly growing family, it has become exponentially more difficult to remember everyone's birthdays, anniversaries, death dates, and more. While Contacts does a great job syncing birthdays to the calendar, it falls short for all date types. That's where Dateminder shines!

What it does

Dateminder syncs all of the dates out from your contacts, or the user can manually create special events. The app then provides a chronological list of all your upcoming events with the option to sync to calendar, get reminded on the morning of, or display the dates in a simple and elegant widget.

How we built it

Since Dateminder is a bit of a complex app, I planned out each of the features that I wanted to build and started with small steps moving towards the larger goal. At first, I made sure that I could get the dates that I needed out of Contacts and into my app. Once I knew that I got the information I needed, I was able to test my Calendar integration, Widget Support and Notification support. This was the first time that I worked with all of these.

Challenges we ran into

The Contacts API is relatively straightforward in pulling data out of Contacts, but does not easily provide the rest of the dates that a user may have added. Implementing clean code that syncs all of the dates you may add provided several challenges.

Accomplishments that we're proud of

Dateminder started as a small app that I never thought I'd release on the App Store to solve a simple problem in my life - remembering dates. Which is why the app was originally named, Dates. As it continued to grow and I further integrated APIs, it started to take on a life of its own. The hurdles I overcame and APIs that I've learned have made me feel incredibly accomplished.

What we learned

As I've mentioned, I had never worked with Calendar, Widgets or Notifications. Supporting each of these in a single application was a learning process. Reading documentation, following sample code and tutorials allowed for a successful implementation.

What's next for Dateminder

Dateminder is great at syncing dates from contacts, but in testing we've learned that not everyone adds their dates there. The option to sync from other sources, like Facebook, would be a great next step for Dateminder.

Built With

  • combine
  • eventkit
  • swiftdata
  • swiftui
  • widgetkit
Share this project:

Updates