For the last five years or so, I’ve been working on a pet project to track the various greeting cards we send out each year. The initial version had a lot of UI problems, so I used it as an opportunity to learn SwiftUI.
The second major rewrite was to add CloudKit integration so that I could sync my cards across devices. That showcased significant issues with my database design. So I’ve been trying to work thru rewriting it lately with SwiftData.
Before I could do that, I had to enable a way to print out all the information in the application. After five years of usage we had hundreds of cards we’ve sent to people and I didn’t want to lose this data, nor was I sure I’d be able to successfully migrate from CoreData and CloudKit to SwiftData. I also knew that my database redesign was going to be very aggressive, and it was time to clean up the storage requirements.
Today I’ve been able to finish in less than a day, a significant portion of the problematic aspects of the application. I know now create new card types, list the card types, list all the recipients of the cards, and filter each of these lists.
It has been loads of fun working on this over the course of a weekend, and I am hoping during my upcoming year end vacation to not only completely rewrite the applications, but to also reenter five years of cards. This effort will allow me to validate that the new design is not only faster, but easier to use!
Can’t wait to share more!