Here is a list of my projects. Some of these I consider completed, some are still unfinished, and some still in progress. They’re presented from most recent or in progress to oldest.
Beacon is an app I built with Ashley Nelson-Hornstein. It’s an app for signaling availability and telling your friends when you’re free to hang out. We built it for WWDC in 5 weeks. It’s the source of quite a few Swift on the server posts that you can find on this blog.
Fatal Error is a podcast I hosted with Chris Dzombak. We did 4 seasons and 70 episodes, talking about different design patterns. It’s a really code heavy podcast, and it was a experience learning the best ways to express code concepts using just our voices and the show notes.
A coordinator is a pattern that allows you to simplify your app by preventing view controllers from being dependencies of each other. Primarily, it takes all of the flow logic out of your view controllers. In addition, it solves the app bootstrap problem, which simplifies app delegates.
Backchannel was a way to gather feedback in an app. Rather than traditional methods of gathering feedback, where a beta tester can talk only to the developer or project manager, Backchannel aimed to open that feedback up to everyone. Letting your beta testers engage with each other gives you real discussion, which generates higher quality bug reports. Backchannel is now defunct, although the code for the SDK is still available for historical reason.
pepin is an ingredient parsing and scaling library that I wrote, which you can find on GitHub. I wrote an extensive blog post about it. The scaling is unit-aware, which means if you scale 1 teaspoon of salt to 2x, you’ll get 2 teaspoons of salt (note the pluralization). If you then scale to 3x, you’ll get 1 tablespoon of salt, because 3 teaspoons is one tablespoon. If you scale to 4x,
pepin will automatically convert to “1 tablespoon + 1 teaspoon of salt”. Check out the recipes and check out the scaling at culinary.af
Instant Cocoa was an Objective-C framework for making iOS apps. It heavily leaned on introspection to simplify the boilerplate in a typical iOS app. You can think of it as Rails for iOS apps. It provided handy abstractions for common problems, like data sources for table and collection views, model introspections, and linking a model to specific API endpoints. You can find it on GitHub.
Objective Shorthand (GitHub) is a set of categories on Foundation objects that make long things in Objective-C short. It fills in a lot of the gaps that Apple left in their own SDKs. It fills a roll something like Active Support does in Rails.
SKBounceAnimation is a CAKeyframeAnimation subclass that creates an animation for you based on start and end values and a number of bounces.