Experience
Principal Engineer Computational Geometry (C++/Python)

Atomic Industries, August 2023 - Present

Designed and implemented algorithms to automatically determine parting lines and shutoff surfaces for injection molds.

CV/ML Graphics Engineer (ICT4), Synthetic Data (C++/Python)

Apple Inc, Mar 2021 - July 2023

Developed algorithms and data structures for visual synthetic data used to amplify machine learning datasets. Focus on optimization and 3D dataset processing, including point clouds, voxel data, NURBS, and polygon meshes.

Software Engineer (IC5), Camera Algorithms (C++/Kotlin)

Facebook Inc, Aug 2020 - Feb 2021

Integrated and evaluated both Facebook and third-party vendor camera algorithms software for a future Facebook product based on the Android operating system.

Software Engineer (IC5), Brain Computer Interface (C++/Python)

Facebook Inc, Mar 2019 - Jul 2020

Redesigned the data structures and configuration files for Facebook’s brain computer interface (BCI) software research pipeline. Developed the hardware/software interface for two BCI prototype devices used by the Facebook research team.

Senior Software Engineer, Computer Graphics (C++/Python)

HeartFlow Inc, Jun 2018 - Feb 2019

Responsible for developing and maintaining computer graphics pipelines at HeartFlow, with an emphasis on accurate and informative representations of the coronary artery lumenal boundary.

Graphics Software Engineer (C++/Python/CUDA)

HeartFlow Inc, February 2015 - May 2018

Responsible for evaluating, designing, and creating new algorithms for anatomical surface representation and interactive surface deformations. In this role, I created a robust surface representation for the coronary artery lumenal boundary using both implicit and explicit representations. Additionally, I developed tools to enable analysts to modify the lumen.

Tools Research and Development Engineer (C++/Python/CUDA)

Pixar Animation Studios, March 2014 - January 2015

Responsible for developing experimental rendering techniques for real-time path tracing with Pixar’s Research team. The technology which I developed in this role enables artists to view the assets and scenes that they create immediately, instead of waiting minutes for a RenderMan render to complete.

Global Technology TD (C++/Python)

Pixar Animation Studios, July 2010 - March 2014

Provided technology support to Pixar artists on Monsters University and Inside Out. In this role, I worked with artists to improve their workflows and fix bugs in a variety of software packages, including Maya, Houdini and Katana. I was also responsible for optimizing algorithms used in Pixar’s internal rendering pipelines and in Pixar’s RenderMan.

Qualifications
MS Computer Science, Stanford University 2008-2010

Specialization in Real World Computing. Cumulative GPA: 3.4

BSc (Hons) Computer Games Technology, University of Abertay Dundee 2005-2007

First Class Honours for a thesis in Real-Time Computational Fluid Dynamics Simulation. GPA: 3.9

Projects/Achievements
Pixar Keynote, NVIDIA GTC (2014)

I developed the rendering algorithm which we used for rendering hair in the GPU path tracing demo. This technology is now also used in Pixar’s real-time path tracer, adding the ability to interactively render full film quality scenes with hairy characters and grass curves.

GPGPU in Film Production, NVIDIA GTC (2013)

I presented a session at the NVIDIA GTC 2013 discussing the use of GPU technology at Pixar. I explained the history of GPU techniques in film production and I showed how advances in GPU technology have accelerated Pixar’s work-flows.

Technical Expertise