iCalvin.org

iOS Projects

This is a rundown of my current public iOS projects available in the App Store. I usually try to keep a couple active projects at a time, and I'll update this list whenever a new one launches.

Drink Keeper

Drink Keeper is a project I started after the WWDC 2014 Keynote and the introduction of HealthKit. I was browsing the HealthKit data types and seeing companies announcing HealthKit support, and didn't see anyone using the Blood Alcohol Content type. I found a forumla for estimating B.A.C. using a person's weight, gender, and that amount of 'Standard Drinks' they had consumer and when, and got to work making an App to save drinking information to HealthKit.

This was actually the first app I've ever sold, as well as my most popular app by far. When WatchKit was introduced I figured it would be a good addition to the app, and was able to have the watchOS version in the store for launch day. They syncing manager I had built was pretty reliable because it relied on the system keychain for storing current drinking sessions, but when watchOS 2 launched with local apps I no longer had access to the same keychain for both apps, and the new WatchConnectivity class wasn't ablew to give me the reliability I needed. I eventually abandoned the project in frusteration.

Drink Keeper 3.0 is now out, which is a complete rewrite of the app with lots of great new features, but for now the watch app has been removed. I expect it to be back in 3.1 once I find the time to wrap that up, but for now you can learn more here.

First screenshot of Drink Keeper, showing the main screen during a drinking session Second screenshot of Drink Keeper, showing session details Third screenshot of Drink Keeper, showing the Add Drink screen

Sticky Emoji Sticker Pack

Sticky Emoji is a quick iMessage App I whipped together using content from the open source Emoji One project. They're a really helpful resource for anyone looking to use some simple and beautiful Emoji references, and they stay up to date very quickly. They also provide a JSON file with rich information about each emoji and keywords to make searching really easy.

This was my first iMessage App and it was really quick and easy to implement. I really just wanted two things from it. First, to be able to drop Emoji onto conversations rather than sending them as an individual reply. Second, to be easily search through them so I didn't have to swipe through 1800+ emoji looking for the one I wanted.

I also wanted to implement a Stack View on the side with Category buttons so you could jump right to Flags, or Activities without necessarily having to search. I ended up abandoning it because I realized that MSStickerBrowserView didn't allow you to jump to a particular NSIndexPath. Despite how much it seems like a UICollectionView it is very limited in what it can and can't do in comparison. I'm still thinking about what the best way to implement this category jumping functionality.

First screenshot of Sticky Emoji, showing the full screen browser Second screenshot of Sticky Emoji, showing search Third screenshot of Sticky Emoji, showing inline stickers on a message


Web Projects

Typically I don't do too much web stuff, mostly just APIs for my app projects.

iCalvin.org

I built this website and the blogging engine entirely in Swift using Vapor. I also have iOS and macOS apps to allow me to quickly share links, images, and posts to the blog here. It was a lot of fun to make and learn Perfect. I wrote a longer write up over here.