This page highlights the projects that best represent how I work today: understanding a platform constraint, modelling the product rules explicitly, and building a focused experience around them. Each case study includes the decisions, limitations, and next steps—not only the finished screens.

Milepost — CarPlay Media Architecture

Milepost's video library running in CarPlay

Milepost is a CarPlay video-and-audio prototype built to explore what happens when an app supplies the behavior but the system owns the interface. It keeps the iPhone scene, CarPlay scene, Now Playing information, remote commands, and vehicle controls synchronized through one playback engine.

I designed and implemented the application architecture, capability-aware presentation model, media handoff, and a 21-rule test suite. The project also documents a layered debugging process across CarPlay, AVFoundation, audio routing, and external playback.

Key engineering work: system-owned UI, shared playback state, Swift 6 concurrency boundaries, capability-driven presentation, and testable framework adapters.

Technologies: Swift, UIKit, CarPlay, AVFoundation, MediaPlayer, Swift Testing

Read the case study · View the code on GitHub

FocusFlow — Notification and Focus Engine

FocusFlow rules, notification feed, and dashboard

FocusFlow is an iOS SwiftUI prototype that models a real-time notification pipeline. It classifies deterministic mock notifications, applies Focus rules, ranks allowed items, summarizes lower-priority updates, and explains why each delivery decision was made.

I separated classification, ranking, summarization, and persistence from the UI so the product rules could be exercised with unit tests. The app includes editable rules for Work, Personal, Sleep, and Driving contexts, plus a live simulation that continuously recomputes the pipeline.

Key engineering work: explainable ranking, context-aware filtering, real-time state updates, deterministic fixtures, and rule persistence.

Technologies: Swift, SwiftUI, MVVM, UserDefaults, XCTest

Read the case study

MailPilot — Intelligent Mail Triage

MailPilot compose, insights, message, and inbox screens

MailPilot is a privacy-aware SwiftUI prototype for categorization, summaries, priority reasoning, search, and tone-aware reply drafting. It uses local fixture data so reviewers can explore the complete product flow without OAuth, personal email, or a server.

I designed the inbox, insights, compose, and settings workflows around a replaceable intelligence service. The implementation keeps classification explanations visible, makes privacy boundaries explicit, and tests the behavior the application owns rather than the framework itself.

Key engineering work: service boundaries, explainable categorization, async loading, observation-based state, local fixtures, and unit/UI testing.

Technologies: Swift, SwiftUI, Observation, async/await, XCTest, XCUITest

Read the case study

Genmoji-Ready Rich Text Input

Genmoji rich-text editing and restored preview on macOS

This paired iOS and macOS project explores how an application can preserve Genmoji and other image-based glyphs across editing, copy and paste, serialization, and restoration. The central design decision is to treat expressive input as attributed content rather than flattening it into a String.

I built native text-system bridges for both platforms, using UITextView on iOS and NSTextView on macOS, then isolated RTFD persistence behind a small storage layer.

Key engineering work: SwiftUI framework bridging, attributed text state, adaptive image glyphs, RTFD serialization, and cross-platform API differences.

Technologies: Swift, SwiftUI, UIKit, AppKit, NSAttributedString, RTFD

Read the iOS case study · Read the macOS case study

Playground Composer — Native Image Creation

Playground Composer is a SwiftUI sample app built around Apple’s Image Playground framework. It demonstrates a system sheet, programmatic generation with ImageCreator, and a UIKit controller bridge, then places those entry points inside realistic avatar, sticker, and note-illustration workflows.

I implemented capability checks, prompt validation, local result persistence, unsupported-device fallbacks, and focused unit tests so the framework integration remains useful beyond a single demo screen.

Key engineering work: native generative-media APIs, async generation, SwiftUI/UIKit integration, device fallbacks, persistence, and testable request modelling.

Technologies: Swift, SwiftUI, UIKit, Image Playground, async/await, XCTest

Read the case study

Earlier Work

Daily Listen

A solo iOS audio project exploring personalized listening experiences with generated text and speech. I built the application from its initial architecture through the release-ready prototype.

Technologies: SwiftUI, OpenAI API, text-to-speech, AVFoundation, Combine, URLSession

My League

An Apple-platform companion for League of Legends data, including match history and reference information for champions and items. The project also explored spatial presentation on visionOS.

Technologies: Swift, SwiftUI, Codable, MVVM, RealityKit, AR, Blender

View the project on GitHub

PetSharing

A pet community application built in 2022 for sharing moments and discovering pets available for adoption. I was the sole iOS developer from initial implementation through the first release.

Technologies: Swift, UIKit, ARKit, LeanCloud, Lottie

View the project on GitHub

Additional early experiments—including Coconut List, Coconut Movie, Sneakers, Coconut Fitness, and Coconut Food—helped me learn SwiftUI, MVVM, API integration, Firebase, and prototyping with 3D assets. I now keep this page focused on the work that best demonstrates my current engineering approach.