Building Canopy: A Native GitHub Inbox and a Testbed for Lists
How building a native macOS GitHub notification client exposed surprising gaps in GitHub's public API and stress-tested Lists in a real app.
How building a native macOS GitHub notification client exposed surprising gaps in GitHub's public API and stress-tested Lists in a real app.
A deep dive into the design, performance, and trade-offs behind Lists — a pure-Swift replacement for UICollectionViewDiffableDataSource that's up to 1000x faster than Apple's implementation.
What I learned building a CLI toolset that captures SwiftUI previews programmatically, giving AI coding assistants a visual feedback loop.
Hashable and Equatable for functionsOften, we pass functions as stored arguments to an object. In this quick tip, we explore how we can still maintain `Hashable` and `Equatable` when we do so, without having to write it ourselves.
How building a native macOS GitHub notification client exposed surprising gaps in GitHub's public API and stress-tested Lists in a real app.
How to set up an iOS project for git worktrees, including DerivedData isolation, SPM caching, simulator conflicts, and project file merge strategies.
A deep dive into the design, performance, and trade-offs behind Lists — a pure-Swift replacement for UICollectionViewDiffableDataSource that's up to 1000x faster than Apple's implementation.
What I learned building claude-deep-review, a code review skill that decomposes review into 15 specialized agents running in parallel.
What I learned building Claudio, a tool that runs multiple AI coding agents simultaneously using git worktrees
What it's actually like to build a real tool on Apple's on-device FoundationModels framework — the 4,096 token ceiling, blind token budgeting, and everything in between