A little about me.
I’m Addison, a lead iOS engineer and independent software developer.
I’ve spent more than 12 years building and modernizing applications on Apple’s platforms, progressing from iOS engineer to senior and lead roles. My work spans Swift, SwiftUI, UIKit, Objective-C, concurrency, Core Data, and the tools that help teams ship with confidence.
Alongside that work, I build Explore Michigan and Park Guide. Owning an independent product keeps me close to the decisions that connect engineering, design, and a sustainable business.
Work that makes other work better
I especially enjoy work that acts as a force multiplier: solving a problem once in a way that helps the whole team. A faster build gives everyone more time to iterate. Automating a repetitive task saves time for everyone who has to do it. A shared component carries an improvement into every feature that uses it.
I’m always looking for ways to help my teammates through better tooling, automation, and reliable systems. I value teams where that effort goes both ways and people look for opportunities to make each other’s work easier. We can each make improvements that help everyone build better software.
The little details
I also care about the little details: how a control behaves with VoiceOver, whether an error message helps someone take the next step, or whether a teammate can get a project running without asking around. These details shape how people experience a product and how easy it is to work on. I think they’re often what separate good software and products from excellent ones.
Walgreens
Thousands of EXC_BAD_ACCESS reports led me to incorrect cross-context Core Data object access. I led a refactor to a single managed object context, eliminating the affected crashes after release.
I also standardized Xcode and Ruby versions and dependency lockfiles across an iOS organization of dozens of engineers, largely eliminating environment-specific build failures. SwiftLint now runs during pull request validation.
To make SwiftUI previews useful without waiting more than ten minutes for the whole application to build, I extracted shared UI into an in-repository Swift package. The components stay with the application, without the overhead of a separately versioned library.
I added repository-level Firebase, Proxyman, and Xcode MCP integrations and have used agents to investigate crashes, prepare pull requests, and verify network behavior after changes. I also wrote localization guidance for dynamic strings and plurals that became useful context for coding agents. My experiments with specialized, lower-cost agents are personal explorations.
Mad Mobile
I led engineering on MenuPad for iPadOS, working with backend engineers on API contracts and mentoring through reviews and pairing.
Inconsistent SwiftUI updates turned out to come from faulty custom Equatable implementations. Correcting the state comparisons resolved the underlying behavior. I introduced pull request validation with unit tests and SwiftLint, reduced project warnings from 42 to 3, and added targeted Datadog logging to investigate customer-reported production issues.
Big Nerd Ranch
My primary engagement was the Chick-fil-A iOS app. I built reusable SwiftUI components, including a native-style alternative to List, and led Swift 6 readiness work around strict concurrency checking, Sendable, and cross-isolation data safety.
Accessibility that changed someone’s day
I led an accessibility audit of the app’s core ordering flows. Working within the available time and budget, I went through each view and made the experience more intuitive with VoiceOver.
The client later shared feedback from a blind customer who had independently placed a delivery order. It remains some of the most meaningful feedback I’ve received:
[The chairman of the board] was sent an email the other day by a blind man who was blown away by the accessibility features in the [fast food ordering] app. He was able to place a delivery order completely by himself which is something he is unable to do in other restaurant apps. He was really thankful for the time and work that went into adding these features that was able to give him just a little more agency in his life.
A shorter wait on every build
On a separate client engagement, I traced long builds to Swift compiler type-checking bottlenecks. Refactoring the affected code brought builds from over three minutes to just over one minute.
Earlier chapters
At Black Pixel, I helped revive Kaleidoscope, modernizing an aging macOS codebase and shipping three releases. My work there also included integrating Core ML with live camera video.
Earlier roles at iScribeHealth, Ramsey Solutions, CU*Answers, and Maestro involved test-gated delivery pipelines, automated App Store releases, MVVM adoption, app signing and distribution, and retail training applications. That mix of product and consulting work shaped how I approach unfamiliar codebases and teams.
I studied computer science at Western Michigan University in 2014.
Resume
For the complete career history, download my resume (PDF).
Get in touch
You can reach me at [email protected], find my work on GitHub, or connect on LinkedIn.