I am an iOS software engineer. I live in Portland, Oregon.
Here's my resume and GitHub.
Stuff I built / helped building
- NYPL SimplyE / Open eBooks / Readium (2020-2025)
- I joined the New York Public Library to work on open source software full time, using Swift, SwiftUI, Swift Concurrency and Combine. I contributed features and bug fixes to the Readium open source toolkit that we integrated into our apps to implement the ereader component, and worked on the two apps the Library had. These apps are no longer available but they were used by patrons across a network of libraries around the world. I led the refactoring of tightly coupled code into reusable frameworks, contributing to the reduction of tech debt. I set up CI/CD pipelines with GitHub Actions and Fastlane to build, unit test, and deploy our products. Overall, this enabled a steady release cycle and improved the crash-free rate from 86% to 99.9%, allowing us to achieve 70% YoY average user growth and increase the App Store rating to 4.7 stars. I also worked on a new hybrid app leveraging web technologies alongside a native SwiftUI plugin. I architected the plugin focusing on SOLID principles, adapting the VIP / Clean architecture to SwiftUI. I collaborated to design APIs shared by iOS/Android/Web code, and to develop features such as audiobooks, text formatting, and extensive accessibility.
[Readium commits] [Utilities repo] [Audiobook repo]
- PIX System iOS + tvOS apps (2016-2020)
- The apps I worked on while at PIX are used by Hollywood directors, actors and executives, many of which are popular household names. To deliver solid professional products, I focused on establishing processes for the team to move fast while still keeping code quality high: efficient git workflows for day-to-day work as well as app releases; investment in CI/CD, unit testing, refactoring, code readability and documentation; thorough code reviews. This was done in collaboration with other tech leads and with the buy-in of other engineers. PIX also gave me an opportunity to learn AVFoundation and use NSOperations more intensely, to facilitate handling of DRM, watermarking, loading of metadata and user notes. Since we were maintaining multiple apps, I split the code base of the main app into reusable Swift/ObjC frameworks to move faster in the long term. This allowed us to spin up a brand new tvOS app and release it very quickly. Mentoring played a much bigger role than in previous positions, and it was rewarding to see younger engineers grow.
[App Store page]
- Goodreads iOS app (2010-2015)
- I was the 1st iOS hire and took over the app that was built by contractors. I helped develop new navigation (twice!), new book main page, barcode scanner, on-device caching, Facebook onboarding, localization and more. Firstly I directed my attention to critical issues such as memory management and performance, helping to build a solid foundation for the strong growth the company was experiencing on mobile platforms, which led to the acquisition by Amazon in 2013. When I left in 2015 the app was 99% built natively in Objective-C. More than a decade later, some of the features I helped build are still used by millions of users in the current Goodreads app. I'm particularly proud of this work because (1) I got to work for a company that was helping readers, (2) I was able to do some open source contributions, and (3) I worked with an exceptional team and learned a ton of stuff.
[App Store page]
- Other Open Source Contributions (2005-2025)
- Some of the most rewarding experiences I've ever had while developing software was to contribute to open source / free software projects. Here's a few projects I collaborated to:
- Readium Swift toolkit (eReading software; 2021-2025): I added easier access to styling configuration options, improvements to error handling, and various bug fixes. My commits, PRs, and more PRs.
- Blender (3D content creation suite; 2007-08): I added support (C/C++) for 3Dconnexion / Logitech's N degrees of freedom devices. This shipped in v2.46 with some bugfixes in 2.47. Here's some of my patches (1) (2) and some community posts (1) (2).
- Second Life (MMORPG; 2008): Same deal, I added support (C++) for 3Dconnexion / Logitech's 3D devices to control your avatar in 6 degrees of freedom. This shipped in v1.20.
- SimplyE / Open eBooks (2020-24): now defunct, but see above for more information. My pull requests (Swift / Objective-C) are still available.
- Three20 (now defunct iOS library; 2011-13): several bug fixes (Objective-C), see my pull requests.
- Personal Projects
-
- Uchronic Spin (2025-): This is currently under development and it is an app to help me choose which record to play from my vinyl collection. After I crossed 1000 items, it has become difficult to remember what I have available exactly, and how to match that to the mood of the moment! I am building this as a SwiftUI app, with a Clean architecture and SOLID principles. I am using Swift Concurrency pretty extensively and learning SwiftData in the process.[GitHub repo]
- ChessNote (2008-2018): This was a correspondence chess game that I created for the iPhone. Built with Objective-C, Erlang, OpenBSD. This is the first iOS app I ever worked on, cutting my teeth on iPhoneOS 3 and supporting it till iOS 9. It was also an opportunity to learn a functional programming language (very fascinating topic) and server maintenance / configuration. I shut it down in 2018 because I was not able to give it the support it deserved anymore.
- Other
- My GitHub hosts some old and no longer maintained stuff. When I look at this stuff today it's not something I'm particularly proud of anymore!