I’m an experienced software engineer who’s passionate about creative applications at the intersection of computer graphics, novel user interfaces, and computer vision.
Experience
Principal Software Engineer, Mental Canvas Inc., New York, NY
2020–2023
I worked on all aspects of the Mental Canvas Draw app, as well as a number of new backend services, and parts of their WebGL-based scene viewer. You can see some example web scenes here.
Mental Canvas provides a hybrid 2D/3D sketching application for creating: quick immersive 3D scenes, webcomics, and visual narratives. The product has been used by publications like: the New York Times, The London Times, and various Hearst publications; and by firms like Perkins-Eastman.
- Developed new features in the cross-platform (iPadOS & windows) Mental Canvas Draw app.
- Led the effort to release Mental Canvas Draw in the Apple App Store.
- Mentored and managed junior engineers and interns.
- Led engineering planning and scheduling processes.
- Prototyped new UI in Swift and SwiftUI as part of an effort to re-launch the product.
- Prototyped AI/CoreML driven image editing features.
- Implemented node.js REST APIs and other worker services hosted on Azure to run server-side 3D scene processing.
Freelance Developer, Brooklyn, NY
2017–2020
Clients include:
Principal Software Engineer, FiftyThree Inc., New York, NY
2012–2017
I joined FiftyThree as their first full time iOS engineer and scaled out the team and developed large parts of FiftyThree’s core product: Paper by FiftyThree. I worked on all phases of the hardware development of FiftyThree Pencil; an iPad stylus.
Paper by FiftyThree has received an Apple design award and Apple’s App of the year. Paper by FiftyThree has been installed on more than 17M iOS devices. Pencil by FiftyThree is the 2014 winner of “Best Design Crunchie” and IDEA silver for Computer Equipment.
- Developed UI for collaboration features in Paper and real time sync infrastructure.
- Architected FiftyThree’s ThinkKit, our geometric shape recognition system and managed our release. Contributed to algorithmic aspects as well.
- Developed the FiftyThree Pencil SDK for iOS and supported integrations with Adobe Draw & Illustrator, Microsoft OneNote, ProCreate, PSPDFKit, and other high profile iOS apps.
- Managed the development and integration of the FiftyThree Pencil Palm rejection technology in Paper and our third party SDK.
- Supported new hardware & interaction prototypes on iOS, android and other platforms.
- Led the development of our C++ GPU based ink rendering technology.
- Mentored and on-boarded new iOS engineers, helped scale out the team and conduct interviews; and worked to ensure good software engineering practices and patterns.
- Developed UX for the iPhone expansion of Paper.
Senior Software Engineer, SDEII, SDE, Microsoft Inc., Seattle, WA
2008–2012
The projects I worked on in these roles were in the photographic, mobile, and maps product space.
- Architected hybrid WebGL & CSS-3D rendering libraries that were used in: new AR demos, Photosynth v2 javascript client, and bing.com.
- Developed iOS OpenGL-based rendering components for panoramas.
- Worked with researchers in Microsoft Research (MSR) to productize image based rendering research.
- Developed a C# panorama & streetside renderer used in Bing maps.
- Mentored interns and junior developers.
- Shipped the first version of the DirectX Photosynth web client.
Software Engineering Intern, The MathWorks Inc., Natick, MA
Summer 2007
Implemented new plotting commands using cross-platform C++, OpenGL, and OpenSceneGraph. This work shipped in Matlab.
Software Engineering Intern, NVIDIA Inc., Santa Clara, CA
Summer 2006
Developed mobile augmented-reality (AR) demos using embedded Linux and OpenGLES.
Graduate Research and Teaching Assistant, Brown University, Providence, RI
Fall 2003 – Winter 2006
Designed and developed algorithms for geometry processing and computer vision. Published research in workshops and conferences. Served as a teaching assistant for the CS department’s graduate level computer graphics course.
Education
Sc. M. Computer Science, 2005
Brown University
Providence, RI
B.A. Computer Science and Mathematics, 2003
Clark University
Worcester, MA