A macOS menu bar app that escalates its reminders as your meeting approaches, for people who dismiss a notification and immediately forget it existed.
A hosted proxy platform that keeps secret API keys out of mobile binaries - with a one-line iOS SDK that uses URLProtocol interception to work with any third-party library, zero code changes required.
A macro-driven Core Data wrapper giving you SwiftData ergonomics (@SlateEntity) without giving up Sendable immutability.
A focused collection of helpers for Swift structured concurrency and the Observation framework - serial tasks, owner-bound task lifetimes, single-flight coalescing, and more.
A runtime configuration library combining defaults, server-side overrides, and an in-app tweak panel into single typed @Observable values.
An opinionated three-type pattern for embedding SwiftUI screens inside UIKit navigation stacks, built around @Observable view-models.
An agent skill that scaffolds non-trivial feature work into three explicit layers - design, implementation planning, and execution - with per-step subagents and durable markdown records.
A Swift library bringing ReactiveSwift-style ergonomics (Property, Action, deferred publishers, UIScheduler) to Apple's Combine framework.
A complete rewrite of Mortar using Swift result builders to give UIKit a SwiftUI-style declarative view-construction DSL.
A CLI that automates project-file overhead for large multi-module Swift codebases - module generation, dependency wiring, asset codegen, and SwiftPM dependency caching.
A pre-async/await Swift DSL of custom operators for collapsing nested completion-handler callbacks into seemingly-synchronous code.
My first Core Data wrapper - a transaction-based API that hides managed object contexts behind closures.
A Swift Auto Layout DSL using overloaded operators for concise constraint syntax - my take on the same problem SnapKit and Cartography solved.
A student-suggested iOS app where photos get sent immediately to five random friends with no take-backs - and my first real foray into Parse cloud code and Android.
A tvOS+iOS bundle bringing the 3D Theseus engine back to the 2D ruleset, ported from Objective-C to Swift for the first Apple TV App Store.
A SpriteKit-era recreation of Light Jockey, built primarily as an excuse to learn Apple's then-new 2D physics framework.
An iOS app that turns photos into impressionist-style canvases by continuously stroking animated lines over the image.
An arcadified take on 2048 with morphing polygons, ice blocks, and bombs - built mainly to play with iOS 7's CAShapeLayer and CAEmitterLayer animations.
A whack-a-mole-ish iOS game that started as a live 45-minute classroom demo for my Computer Science students at Harvard-Westlake.
A SceneKit-powered 3D port of Theseus onto a cube, built as an excuse to learn SceneKit and figure out how to make 2D puzzle rules work on a rotating cube.
A race-against-time AVFoundation app for creating Harlem Shake videos, beaten to the App Store by one day and later cease-and-desisted off the store.
A real-time competitive Sudoku game built on Game Center, with a peer-to-peer protocol and a microsecond-fast solver for dynamic puzzle generation.
A two-week postmortem on Tring's App Store release, with real numbers on downloads, ad-spend, in-app purchase conversion, and what iTunes featured placement is actually worth.
A summer contracting stint porting a Facebook bingo game to iOS, where I built a transparent background asset-offloading library to keep the initial download under 50MB.
A sliding-block puzzle game on a triangular grid, with a deep dive into the coordinate model, collision detection, level solver, and runtime puzzle generation.
My first iPad app: a comic book reader with a custom gesture-driven UIScrollView and embedded unrar/unzip for .cbr/.cbz files.
A 12-hour day/night timer app capitalizing on the fact that nothing else showed up for 'minecraft' in the App Store at the time.
An iOS app for copy/pasting rage faces into messages - born from my own /r/fffffffuuuuuuuuuuuu addiction and briefly the only one of its kind on the App Store.
My first startup gig - the Venrock-incubated team building an internet-connected in-car audio experience for the iPhone.
A Stanford Continuing Studies class I taught on beginning iOS development, whose final-project app got bundled and published to the App Store.
An iPhone version of the Flash game Auditorium, with a hand-rolled OpenGL ES blur engine - pulled from the App Store after EA sent a cease and desist.
A pre-WhatsApp Facebook-based texting app built with my friend Yee - basically a precursor to Facebook Messenger that never found users.
A chain-reaction game built to put the leftover OpenGL blur engine from Light Jockey to use - named after my then-girlfriend's dog Ruby.
My first iOS app: a cryptogram puzzle game licensed from Puzzle Baron, written back when I thought rendering the whole game with CoreGraphics was a good idea.
An iOS port of Robert Abbott's Theseus and the Minotaur puzzle game - featured on the front page of iTunes after an elevator demo to an Apple exec.
A weekend prototype to see whether a 3D galaxy map could plausibly work for a 4X space game.
A PHP/MySQL site for splitting bills among roommates, launched right before I discovered that buddybills.com had launched the same idea first.
Archived versions of my personal websites from 2001 and 2003, preserved for historic (and slightly embarrassing) value.
A graphing tool for visualizing complex functions as mappings from one 2D coordinate system to another.
My CS184 final project: a 3D OpenGL implementation of the board game Go.
A late-night Mandelbrot set explorer with zoom, undo, and variable color and precision, written in a single five-hour sitting after reading a Slashdot article.
A generator that graphs randomly-generated mathematical functions as RGB color channels to produce algorithmic art.
A two-player OpenGL+winsock board game written from a sickbed, where you score points for forming squares of pegs on a 3D grid.