Haggai Nuchi
Machine learning, robotics, and computer vision software engineer with Math PhD. Based in San Francisco, authorized to work in USA.
Work Experience
Lead Software Engineer
CSO Engineering, Jan 2022 - Feb 2024
- I led computer vision and software architecture for a robotics project. I wrote the algorithms and software to operate a 6-DOF robot arm in simulation and production, and localize the robot to a workpiece using stereo vision and pointcloud alignment. I designed and implemented the software architecture that let robotics process engineers easily onboard new workpieces and then deploy the resulting software processes to our hardware.
Skills: Python · Mathematics · Computer Vision · Object Detection · Software Development · Linear Algebra · Robotics · Software Design · Point Clouds · OpenCV · Camera Calibration · RoboDK
Machine Learning Consultant
Self-employed, May 2021 - Sep 2021
- Part-time ML infrastructure consultant for NLP startup. I designed and implemented an improved deployment process for machine learning models which took a process from 3 change sets touching 20 files and 4 hours, down to a 1-line change and minutes. I implemented a candidate-generation and reranking search model, and quickly deployed the necessary changes to their stack, getting quickly up to speed on Elasticsearch and Go (no prior experience) and React and PostgreSQL.
Skills: Go · React.js · Elasticsearch · ML Ops
Computer Vision Consultant
Self-employed, Nov 2020 - Jan 2021
- Pro-bono computer vision consultant for biology researcher. I designed multi-object tracking software for counting water fleas in video of water tanks, using classical computer vision techniques as well as Kalman filtering.
- https://github.com/nuchi/multi_object_tracking/
Skills: Python · OpenCV · Kalman filtering
Machine Learning Engineer
Airbnb, Oct 2018 - Oct 2020
- Search ranking: I implemented a machine learning model to take positional bias into account in training data. I took this from prototype to production, including basic research, adding data pipelines, adding the model to backend services and performance monitoring.
- On the ML Infra team responsible for Airbnb’s ML platform: I improved autoscaling for k8s, leading to cost savings, improved packaging/releases for the team’s internal libraries, coordinated with internal customers to address their needs, added performance enhancements (latency, memory, CPU).
Skills: Python · Distributed Systems · Machine Learning · Apache Spark · Java · C++ · MLOps · Kubernetes · docker · XGBoost
Senior Software Engineer
Cruise, Apr 2016 - Jul 2017
- Tech lead for the behavior prediction team. Coordinated with downstream and upstream teams, prototyped and implemented algorithms in C++ for production, under CPU/memory/latency constraints. Machine learning, graph algorithms, geometric heuristics. Supervised three interns for machine learning projects, supporting their novel research in getting to production.
- Radar tracking. Segmentation/clustering for radar sensor data, Kalman filtering and sensor fusion. Computational geometry, clustering, C++, Python.
Skills: C++ · Linear Algebra · Machine Learning · Sensor Fusion · Autonomous Vehicles · Mathematics · Python · Robot Operating System (ROS) · Kalman filtering · TensorFlow
Selected Solo Projects
Spatial Audio in the Browser, Spring 2024
- A browser-based immersive spatial audio demo, using webcam head tracking to create an immersive audio experience.
- I wrote a pytorch-based small neural network to compute the head-related transfer function (HRTF) for any direction, interpolating the impulse responses for a finite set of directions.
- I wrote the digital signal processing filters to render the spatial audio in realtime, using the Faust programming language to compile the HRTF to webassembly, to run in the browser via the webaudio API.
Trombone Simulator, Summer 2021
- A browser-based playable physical simulation of a trombone. I implemented it in the Faust programming language, using digital waveguide theory to implement physical models of the lips, mouthpiece, slide, and bell.
Human-to-Dog Translator, Spring 2018
- A human to dog translator running entirely in the browser. It works by compiling a Tensorflow model to WebAssembly. I did novel work for this project, implementing:
- style transfer for audio (human content + dog style)
- running a Tensorflow graph in the browser, compiled to WebAssembly via XLA
- a novel audio foreground/background separation
Education and Teaching
Postdoctoral Researcher
University of Toronto, Math department, 2014-2015
- Research in differential geometry
- Taught undergraduate calculus
PhD in Mathematics
University of Pennsylvania, 2009-2014
- Research in differential geometry.
- Dissertation: The Hopf fibrations are characterized by being fiberwise homogeneous.
- Taught undergraduate calculus and was a teaching assistant for advanced undergraduate classes.
- Awarded: Moez Alimohamed Graduate Student Award for Distinguished Teaching in Mathematics, 2011