2024

  1. A Thousand Days Wearing an Apple Watch

    Earlier today, I received a notification that I have been looking forward to for a long time. I’ve now owned and worn an Apple Watch for exactly one…

  2. Introducing Peak for Apple Watch

    On this day one year ago, I announced Peak, an app that lets make your personal fitness dashboard and keep track of your fitness with a range of…

2023

  1. Building Peak

    A Look Behind the Scenes

    This post goes into the technical details of how Peak was made. You can also read the story behind the app and download it on the App Store. The Stack…

  2. Introducing Peak

    Your Personal Fitness Dashboard

    I’m excited today to announce my next app: Peak! Peak is an app that lets you build your personal fitness dashboard. It includes a whole bunch of…

2022

  1. Solving Advent of Code 2022 in Swift

    It doesn’t feel that long ago that I was writing my summary for last year’s Advent of Code, and yet, here we are again already. For those unfamiliar…

  2. Adventures in Orienting Views in SwiftUI

    I like to break down my work on side projects into two phases. Once I’ve decided what features I want to focus on for the next few weeks, first I’ll…

  3. Adventures in Orienting Images on iOS

    A great thing about working with software is that despite it being a relatively young industry, there’s a staggering number of near-perfect…

2021

  1. Solving Advent of Code 2021 in Swift

    Every year since 2018, I’ve been taking part in Advent of Code. For those unfamiliar, it's an advent calendar where every day from December 1 to…

  2. Recreating the macOS Genie Effect

    A few weeks ago I released Pause, a Mac app that I made to remind myself to take breaks periodically. If you’ve used the app, you know there just isn…

  3. Introducing Pause

    A macOS app that reminds you to rest

    If you work in tech, sitting at a desk typing away at a computer all day, you’re aware of the looming spectre of RSI. I’m also personally extremely…

  4. Wrangling Time

    A Brief Explainer/Rant About Date Math

    The overarching theme of what I write about on this website is things that I used to once hate, then understood, and now continue to hate but for…

2020

  1. Swiftʼs Collection Types

    Sequence, Collection, Array, and everything in between.

    A while ago, Paul Hudson posted a poll on Twitter, asking people what topic they found most difficult when they’d started learning Swift. An…

  2. How the SwiftUI DSL Works

    Result builders, explained.

    I dunno about you but I distinctly remember where I was and what I was doing when SwiftUI was announced. My first reaction upon seeing Craig Federighi…

2019

  1. Dynamic Wallpapers in macOS Catalina

    To go with dark mode, macOS Mojave introduced a feature called “dynamic wallpapers”. Once enabled, a dynamic wallpaper would cycle between a number of…

2017

  1. Updating UI for iPhone X

    A practical guide to adopting iOS 11’s safe area API.

    The safe area API introduced at WWDC 2017 seemed at the time like a lot of work to accommodate the status bar, so I happily ignored it right until the…