Writing
Lessons from the systems behind the screen.
Engineering notes, practical lessons, and an archive of earlier iOS writing. The rough edges are where systems are tested and ideas get clearer.
Cross-Team Collaboration Is Cross-Process Communication
Designing a sync-publish share SDK between two apps, and what passing an identifier instead of a file taught me about working across teams
A Year After WWDC 2019: Putting Property Wrappers into Production
Wrapping per-target branding differences behind a Swift 5.1 property wrapper so business code stops reading build configuration
Designing the Native Bridge for a Collaborative Web Editor
How we treated the JavaScript bridge as a protocol boundary between an iOS SDK and a real-time document engine
Why We Chose Swinject for a Document SDK
A reflection on dependency injection, object lifetimes, and SDK composition boundaries
Why We Replaced IGListKit with UICollectionView
A reflection on moving a complex document feed back to native UIKit after iOS 13 introduced diffable data sources and compositional layout
Taming a Complex Document Feed with ReSwift
How unidirectional data flow made filtering, metadata updates, caching, and networking predictable
One Page, Two Table Views, Three Loaders
Coordinating gesture handoff in a nested table view and prioritizing three competing data loads on a banner-plus-content page
Designing Composable Document Permissions with Swift OptionSet
Modeling read, edit, and link-sharing capabilities across personal and managed workspaces
Implementing an LRU Cache
A practical look at least-recently-used eviction
Tracing a Request Through AFNetworking 3.x
Exploring the implementation behind an iOS networking library
Objective-C Categories and Class Extensions
How categories add runtime behavior while class extensions participate in compilation
Rebuilding UITableView Cell Reuse from Zero
Deriving the reuse pool from first principles, then implementing a minimal one in sixty lines of Swift
Understanding the Objective-C Runtime
Essential iOS foundations