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

SwiftPhotoKitArchitecture
11 min read

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

SwiftArchitecture
10 min read

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

SwiftWebKitArchitecture
15 min read

Why We Chose Swinject for a Document SDK

A reflection on dependency injection, object lifetimes, and SDK composition boundaries

SwiftDependency InjectionArchitecture
14 min read

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

SwiftUIKitArchitecture
15 min read

Taming a Complex Document Feed with ReSwift

How unidirectional data flow made filtering, metadata updates, caching, and networking predictable

SwiftState ManagementArchitecture
10 min read

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

SwiftUIKit
15 min read

Designing Composable Document Permissions with Swift OptionSet

Modeling read, edit, and link-sharing capabilities across personal and managed workspaces

SwiftArchitecture
8 min read

Rebuilding UITableView Cell Reuse from Zero

Deriving the reuse pool from first principles, then implementing a minimal one in sixty lines of Swift

SwiftUIKit
11 min read
All topics