|
Work Experience |
|
Ripcord - Senior Staff ML Engineering Lead
As the first data scientist and ML engineer at Ripcord, I have served as both the visionary and developer for all first party ML and AI solutions. After introducing deep learning to the founding team, I spearheaded all efforts related to ML including R&D, data-science and engineering. I have identified and defined problems fit for machine learning, translated state of the art research to production worthy code, and deployed performant ML solutions that have solved complex real-world challenges. These efforts have enabled the intelligent scanning, organization and extraction of information from millions of customer documents. I have presented on vision, R&D, technology and road maps to diverse audiences including the company, investors and the board.
Machine Perception/Computer Vision
- Designed and implemented machine perception systems based on deep learning for the control of physical robots, scanning machines, and digital RPA processes.
- Identified and defined problems fit for Machine Learning
- Designed and implemented appropriate strategies leveraging Machine Learning
- Sourced and annotated data
- Implemented and trained state of the art perception models to robustly interpret and understand paper to such a degree that a robotic arm can physically manipulate paper, remove fasteners and deal with edge cases inherent in a dynamic and uncontrolled medium.
- Designed and implemented hybrid cloud inference solutions including hardware selection, model servers, inference model optimization and integrated client side software capable of scanning millions of sheets per day.
- Integrated solutions into the robotics software stack.
- For years now these solutions have been scanning paper and generating revenue.
Data Science
- Staying informed on current SOTA in both academic and industrial research, for many topics related to AI, ML and Computer Vision
- Proven ability to translate techniques and concepts from research papers to working production code
- State of the art neural networks for computer vision tasks including classification, object detection and instance segmentation
- Systems for analyzing model performance, visualization and explainability
- NLP and mulit-modal models for the classification and organization of both structured and semi-structured text
- Unsupervised clustering for the organization of unlabeled data
- Engineering of complex multi-modal feature vectors for clustering, classification and sequence related problems
- Modeling uncertainty and calibrating networks
Software Engineering
- // TODO: fill me in... lots of stuff to put here
- Designed and implemented ML Ops systems (workflow and orchestration systems for the ML lifecycle) including dataset maintenance, experiment tracking, model training and evaluation, model optimization, inference serving and deployment all based on open source technologies
- Designed and implemented systems for highly efficient and scalable distributed training based on open source technologies
- Curated, managed and maintained dozens of datasets on the order of millions of images
- Designed and implemented creative solutions for sourcing ground truth data
- Designed and implemented systems for on demand collection of data from edge case scenarios, as well as user feedback and other sources of ground truth annotations.
- Integrated annotation tooling and oversaw process of annotating millions of images internally in collaboration with Ripcord's operations team.
- Designed and implemented creative systems for the creation of complex synthetic data
Scanse - Director of software
Scanse was a small 3 person startup attempting to democratize LiDAR: a traditionally expensive and complicated sensing component for autonomous robots, self driving cars, and environment capture. In two years, my colleagues and I designed, manufactured and shipped over 5000 hardware units with supporting software. Throughout the process we fostered an active community of builders, researchers, artists and hobbyists, continuously releasing additional documentation, open source projects and accessory products. While delivering our primary scanning product, we also prototyped new products for non-invasive indoor occupancy tracking.
At a small startup, you play a role in everything! However, my main focus was the design and development of interactive software for both the sensing and visualization of complex 3D data. My accomplishments included the following:
At a small startup, you play a role in everything! However, my main focus was the design and development of interactive software for both the sensing and visualization of complex 3D data. My accomplishments included the following:
- Designed, implemented and shipped cross platform desktop application for visualizing, interpreting and interacting with realtime LiDAR data and 3D point cloud data. Primary technologies included electron and WebGL.
- Implemented and maintained SDK's used to control LiDAR sensor in various programming languages.
- Managed numerous contractors and external developers contributing to open software projects.
- Supported and fostered active customer community.
- Designed and maintained an open source software project for controlling an inexpensive 3D scanner.
- Prototyped various perception algorithms for 2D LiDAR data.
- Drafted a provisional patent application related to AI and sensor data which was successfully filed.
- Prototyped a distributed sensor system involving sensor fusion for occupant tracking and monitoring.
- Designed and implemented interactive labeling tools for multi-channel time series data.
- Prototyped various Neural Networks for time series classification of multi-sensor data using Tensorflow.
- Implemented technical documentation for numerous software projects both internal and open.
NVIDIA Internship
During the summer of 2015 I interned at Nvidia, working out of the Santa Clara office in California. Specifically I worked for the Gameworks department on integrated PhysX in Unreal Engine 4. As an intern I improved the existing implementation of a software integration in a massive working code base, generated extensive documentation, interacted with interested community members and produced a large demo project to highlight the improvements and capabilities of the integrated software.
HTC Vive Tech Ambassador
In February of 2016 I was hired to serve as a tech ambassador for the HTC Vive campus tour during their stop at University of Illinois at Urbana Champaign. Over the course of a week, I helped setup and deliver hundreds of HTC Vive Virtual Reality Demonstrations to interested faculty and students. I delivered marketing pitches, while also providing in-depth technical information and prolonged discussion with faculty, researchers and local businesses interested in developing experiences with the HTC Vive. Discussions included applying VR to entertainment, social networks, education, research, robotics, medical technology, data visualization and architectural visualization, as well as analysis of development obstacles unique to VR content. I generated new interest from a wide variety of demographics and highlighted new and useful industry information (problems, processes, connections, workflows, products etc) for those already working with VR.
Custom Computer Design, Overclocking and Repair
In 2013 a friend and I founded AD/PC, a small business specializing in the design and fabrication of custom Personal Computers. AD/PC catered to any computer needs, but the primary clientele were undergraduate students at Washington University looking for custom water-cooled enthusiast gaming PCs. As a small part-time business AD/PC stuck to commissioned work, rarely taking on more than one or two projects at a time. Word of mouth kept AD/PC with a steady queue of interested customers until I finished undergraduate.
Cypress Wealth Advisors
In the summer of 2013 I worked for a wealth advising firm in the San Francisco Bay Area, called Cypress Wealth Advisors. During my time there I built client databases in Microsoft Access, handled tax returns for small oil investors and developed software to automate the firm's quarterly summary report process. The latter involved creating software in Java to parse the client database and compile information regarding individual investments before automating LaTeX to stitch together the summary reports for each of the investments relevant to a specific client. Before this, the firm was manually editing a Word Document to produce individualized summary reports which (for a few hundred clients) can take days. I also began working on a graphical interface to extend the functionality and usability of the automated summary reporting.
La Cocina Mexican Restaurant
From 2007-2011 I was employed in various positions at La Cocina, a small Mexican restaurant in Orinda Ca. I started busing tables but moved to bar-tending and waiting which I continued for 4 years. At a small family owned restaurant, being a waiter assumed acting as floor manager. My responsibilities included opening and closing the restaurant, handling the documentation and security of money, managing other staff and even assisting in the design of a new computer system for online catering orders. I believe that every individual should work in the service industry at some point, if only to gain a healthy perspective.