• Swift
  • Objective C
  • Xcode
  • UIKit
  • SpriteKit
  • CoreData
  • Realm
  • CoreLocation
  • MapKit
  • FxPlug
  • CoreImage/CoreGraphics
  • Various Scripting Languages


Recent and Highlighted Projects


Swaap is an app to help professional people make great contacts at events such as conferences, conventions, or trade shows. A lot of times it can be difficult to keep track of the people you’ve added to your network. Swaap makes it super easy to swap contact information with others and keep in touch. Using the QR code reader will automatically redirect you to that person’s profile page where you are shown many different ways to connect with that person. Their profile will even let you know what the best way to get in touch with them.

  • Deployed to iOS App Store in an 8 week deadline
  • Collaborated with 11 team members, including members from web frontend and backend, UX, and iOS
  • Solely responsible for the QR code rendering and a modular client side GraphQL implementation
  • Published code on GitHub


eggBW icon

eggBW is a FinalCut Pro X plugin to assist in converting color footage to black and white with more interesting contrast and stylized colorization. It includes both an FxPlug and a standalone macOS app.

  • Created original color to black and white conversion algorithm, weighting each original channel
  • Utilizes CoreImage and FxPlug technology
  • Deployed to macOS App Store packaging XPC plugin bundling


SwiftyDocs Icon
I wanted to generate some documentation for my Swift projects, but wasn’t satisfied with the available tools due to various dependencies and incompatibilities with third party tools.

  • Employed a combination of SourceKitten and Markdown to generate Swift source code documentation
  • Created a DSL component for generating Markdown
  • Utilized HTML, JavaScript, and SQLite to template the documentation output to Markdown, HTML, or Dash docset format


NetworkHandler was written to save you time by cutting out the needlessly messy boilerplate code from URLSession. Typically, everytime you make a network call, you have to check for errors, response codes, data existence and data validity. Every. Single.. Time… Skipping those steps while using URLSession might result in unforseen consequences. Luckily, we built NetworkHandler as a solution.

  • Designed a framework to reduce URLSession boilerplate
  • Overhauled URLRequest design in a wrapper to avoid stringly typed values and instead leverage Swift’s strong type safety
  • Leveraged brand new Swift 5 features for cleaner callback code