I’m a generalist iOS developer with a passion for UX implementation and design. I’ve shipped 8 apps as a lead developer.
I love being inspired by talented designers, obsessively polishing UX details, and striving to meet the occasional crazy deadline.
In 2013, I received a technical Academy Award for co-developing the lighting application used by animators to create Shrek, Madagascar, and several other computer animated films at DreamWorks.
I’ve worked at four startup companies, most recently TRASH, an early stage ML-based video editing iOS app startup. TRASH was acquired by VSCO in 2020.
Before TRASH, I worked at Polyvore, which was acquired by Yahoo (now Verizon Media).
At Polyvore/Yahoo, I collaborated with a small team to develop experimental iPhone apps in the categories of fashion, social networking, and personal finance. Each app went from design to shipping product in two to three months, followed by several rounds of iteration driven by UXR and analytics.
At PDI/Dreamworks, I worked closely with animators while developing a suite of in-house 2D and 3D graphics applications used to create TV commercials, live action film effects, and computer animated films.
In my spare time, I’ve developed several side projects to explore ideas that I’m interested in. A few notable ones are described here.
This open source Swift library simplifies the creation of a scrolling view controller filled with arbitrary content.
In Interface Builder, ScrollingContentViewController exposes a view controller outlet that specifies a content view that should be made scrollable. Everything else is taken care of automatically.
Although ScrollingContentViewController has a singular purpose, its creation required a deep exploration of the mechanics of keyboard presentation handling on iOS, which can be surprisingly involved. This library correctly handles many undocumented special cases, including device orientation changes, sequences of view controllers with shared keyboards under a navigation controller, and additional safe area insets.
This iOS app explains the mathematical concept of a tesseract, which is the four‑dimensional analog of a cube.
The Fourth Dimension is a 30‑page interactive book written in simple, everyday language to target a wide audience. Instead of static illustrations or videos, the user engages with a four‑dimensional geometric model.
This app has a 4.8 star average from 5,600 ratings worldwide. It has been featured in the App Store several times, and is particularly popular in China. Despite the fact that The Fourth Dimension is an educational app about abstract mathematics, 90,000 copies have been sold at $2.99.
I implemented an approach to global illumination called discontinuity meshing, which encodes shadow edges in a static mesh of polygons by introducing new vertices.
I also implemented photon mapping to calculate indirect lighting, which was encoded in the mesh as vertex colors along with the shadows.
I wrote about 70,000 lines of code for the project, 25% of which were unit tests. I learned a lot about the perils of floating point numbers.
I’m now designing an app to explain Einstein’s theory of special relativity, which describes the surprising, unintuitive ways in which time and distance behave for fast‑moving objects.
As with The Fourth Dimension, this app will be built around interactive models. My goal is that the user will be able to develop an intuitive feel for the mathematics of spacetime by playing with it directly, instead of learning the underlying equations and struggling to visualize them.