About
I like short bios.
Projects
WWDC24 Session
Discover how to create stunning visual effects in SwiftUI. Learn to build unique scroll effects, rich color treatments, and custom transitions. We'll also explore advanced graphic effects using Metal shaders and custom text rendering.
Delightful SwiftUI transitions for your app.
With Pow, you can add a variety of SwiftUI transitions to your iOS or macOS app, from over the top ones like .anvil to more the more subtle .pop.
Conditional Effects in Pow can be added to any SwiftUI and trigger continously. Use them to repeat Change Effects periodically or perform ongoing effects such as smoke.
We added Change Effects to Pow that make it trivial to make your SwiftUI views spin, jump, emit particles or trigger other effects whenever a value changes.
Work Experience
In Kernel, Google's product incubation space within the Google Research organization, my work focused on fast-paced iteration on highly polished prototypes.
In the Health team at Apple, I developed a scalable unidirectional data flow architecture to drive our Apple-internal application.
In the UIKit team, I helped ship Drag and Drop on iPad for iOS 11 and prototyped upcoming APIs.
Clients include Artsy, Automatic & Xamarin.
Side Projects
A syndication format for distributing stories to friends and families – built on top of JSON Feed.
The Open Heart protocol lets an anonymous user sends an emoji reaction to a URL.
I reimplemented the original Reveal animation Alex Cornell made with practical effects as a SwiftUI Shader.
To celebrate the launch of Obscura 4, I reimplemented its radial menu in SwiftUI.
Using SwiftUI's shader support introduced in iOS 17, I built this realtime curtain deformation effect.
Using a combination of custom bézier drawing and SwiftUI shaders, I built this gradient that follows an arbitrary path.
Using Signed Distance Fields and SwiftUI's new shader support, I built this distorting loupe effect.
A quick drag-and-drop distortion effect built with SwiftUI shaders.
An exploration of custom swipe action behavior.
An exploration of different overshoot behaviors when animating along open or closed bézier paths.
I implemented the Kubelka-Munk paint blending algorithm and the classic Paper mixing UX in SwiftUI.
I implemented this animation using Signed Distance Fields to get more precise control over the blending of the shapes compared to the Blur + Alpha Threshold based approach.
I tried implementing the classic iOS loupe effect for text magnification but somethings seems to have gone wrong…
I've built these hero images using Vision.framework's on-device image segmentation.
I love deleting apps but Springboard’s Wiggle Mode is slow, inefficient and the product of a bygone era – this is why I’m proposing: Katamari Damacy Mode.
I believe the Home app is need of a refresh and I figured I’d throw my hat in the ring. Using SwiftUI’s TimelineView and a little bit of physics, plugging your lightbulbs into the fire socket has never been as intuitive!
Some say, UI animations these days are just slapping a spring on it and calling it a day. I say: why stop there?
An emulator for the Nintendo Entertainment System written in Swift.
Awards
Drag and Drop for Touchscreen Devices
Writing
Matching SwiftUI’s view APIs in their ergonomics is hard to get right. In this post we’ll learn how to write view APIs that feel truly native to the platform.
Rich and expressive typography is a cornerstone of Apple's UI design yet with the current version of SwiftUI, some of the most powerful APIs are hidden from us. Let's see what it would take to get them back.
Our job at Moving Parts is to make your app the best it can be. Beyond being highly usable and accessible, this also means good looking.
Speaking
Discover how to create stunning visual effects in SwiftUI. Learn to build unique scroll effects, rich color treatments, and custom transitions. We'll also explore advanced graphic effects using Metal shaders and custom text rendering.