About Me
Hi there! I'm an engineer passionate about creating the next breakthroughs in technology, and focused on
working on early stage ideas, helping to shape new product definitions. I have worked primarily in the
consumer electronics industry in the past, but my real passion is in robotics, spacecraft, and
intelligent autonomous systems.
I believe in quality of a final product at all costs, and I am never satisfied until every detail of a
project has been seen after. As such, I like to work at all levels of the software stack. Most importantly,
I am always looking to learn something new and seeking my next opportunity to expand my horizons - the more
challenging and foreign, the better!
Languages I speak
Places I've Been
Education
Carnegie Mellon University |
Aug 2007 to May 2011 |
Electrical & Computer Engineering |
|
Work Experience
Kelner Research |
March 2024 to Present |
Founder |
Coming Soon!
|
Relativity Space |
July 2022 to March 2024 |
Mission Assurance and Vehicle Simulation |
Staff Software Engineer |
Part of the Integrated Software group responsible for all parts of the company's rocket
software stack. Specifically focusing on building the next generation of flight software in
a testable, verifiable, and deployable way that spans all stages of software development and
delivery.
-
Evangelist for new processes, tools, languages from outside the aerospace sector to
improve team velocity and reduce friction for cross-team collaboration. Advocated
for standardizing across the software team to help team member fungibility, ease
on-boarding of new members, and expand the hiring pool of new candidates.
-
Developer of a standard procedures and run-book for operations done during test and
flight operations, so that flight operations can be a special-case of procedures
that were run many times in test environments.
-
Identified and remediated performance bottlenecks in the flight computer runtime
configuration across the software implementations and the platform configuration.
-
Contributed to building simulation proxy components to allow Vehicle-in-the-Loop
testing, to help validate and ground the Hardware-in-the-loop tests on an integrated
vehicle.
-
Built a state machine validation engine for the in-house developed domain-specific
language that the company uses for automation.
|
NVIDIA |
Oct 2020 to July 2022 |
NVIDIA Drive AV Solution |
Senior Software Engineer in Mapping |
Responsible for all on-vehicle mapping contents for autonomous vehicles - from acquisition,
to distribution, and back to telemetering discrepancies between perception and expectations.
-
Architect of the in-car map distribution topology and pipeline, using a data
syndication model for location updates around the Ego vehicle, and a
request-response model for route queries. Serving largely different radii and data
types (i.e. small vector polygon layers over large distances, and super dense
RADAR/LiDAR bitmaps over short distances.)
-
Synchronized a real-time critical, highly scheduled piece of code with an
asynchronous downloader and file manipulator process, including writing all
libraries for downloading, decompressing, filesystem storage and retrieval, and
content verification/validation.
-
Member of small committee responsible for the definition of the NVIDIA mapping
schema across all layers. I wrote the grammar engine (named Bizarro) and many
semantics validators for the map contents, to ensure that the schema stays valid and
consistent across terabytes of map data.
-
Built a large continuous integration and deployment system on top of Gitlab's CI/CD
framework to ensure high quality code in the Bizarro tool and across maps.
-
Mentored other members of the team with in-depth code reviews, 1-on-1 coaching, and
broader philosophical discussions on how to develop and maintain highly critical,
human-safety relevant software.
|
Maka ARS |
March 2020 to Sep 2020 |
Maka Weed Killing Robots |
Senior Software Engineer |
Brought on with deep experience in all parts of the mechatronic and electrical systems, and
knowledge of how to build complicated hardware systems.
-
Introduced the concept of a GNC (Guidance, Navigation, and Control) system for
managing high-level functions of the robot including how to perform autonomous
driving subfunctions, and managing the interactions between the weed exterminator
and the drive system.
-
Built a Madgwick-inspired pose estimator for calculating the orientation of the
robot while driving, to prevent accidentally driving into orientations that would
require manual human intervention to recover.
-
Championed a containerized software architecture where the robot is comprised of
microservice dockers to build a scalable and testable system with various hardware
components mocked out for testing and simplification of development.
-
Built a telemetry gathering system that leveraged the same message bus used for
inter-process communication, allowing testing and more importantly playback of
recorded data that lead up to bugs being discovered. Also implemented a Grafana
visualizer dashboard to automatically deploy with the robot from version controlled
(in git repository) dashboard files.
|
SpaceX Corp |
Sep 2015 to March 2020 |
Starlink Satellite Internet |
Flight Software Engineer 2 |
Responsible for all aspects of Telemetry, Tracking, and Control ground software systems and
architecture. As member of the team, reviewed code and architecture direction from peers.
Principally responsible for hardware/vendor abstraction antenna dish controlling software to
integrate with company standard software stack, and the antenna time scheduler for
allocating communications with satellites. Built constellation network simulation software
from scratch using data collated from public sources for analysis to optimize business
operations and deployment plans.
-
Built a Geo Information System database and analysis system used for determining the
optimal placement of internet access gateways to bridge the satellite network to the
terrestrial internet. Used it for analysis of ground gateway locations such that
traffic was equitably distributed and no single ground network connection was overly
saturated with traffic. Became a critical business analytic data source, and
coordinates data between satellite, network, and business operations.
-
Designed and deployed the satellite communication task scheduler responsible for
prioritizing and dispatching communication tasks between satellites and ground data
centers for such things as health monitoring, telemetry/ephemeris updates, and
transmission and verification of software updates to satellites in flight.
-
Built a general purpose antenna dish operating application that is extensible to any
vendor's hardware, via any interface. Co-constructed and implemented proprietary
algorithms for reliably making contact with satellites, accounting for unpredictable
sources of error.
-
Directly supported satellite operations with software by providing many mission
critical tools to ensure the safe and reliable operation of vehicles in space.
-
Overhauled MVP architecture used for demonstration mission into a production ready
global satellite internet service provider back-end capable of servicing billions of
users.
-
Architected a complete software defined network that interoperated with existing
protocols like TCP/UDP and the proprietary space-optimized network protocol that was
developed specifically for optimizing network performance across variable delay
satellite links.
-
Lead investigations into all aspects of control and data plane traffic to identify
where and why radio throughput was suffering. Worked closely with the Satellite
Broadband Communication Integration team to solve challenges originating on the
ground side and also related to bidirectional aiming challenges
(satellite-to-ground, and ground-to-satellite).
-
Co-authored an automatic self-alignment algorithm for our in-house Ka radio dishes,
and drove the project from inception to finished product of being able to deploy
thousands of network dishes around the world with only a power cable and network
connection. This included system design work, firmware and low-level implementation
of hardware control, software control and data plane design and implementation, and
debugging of initial deployments to maximize link power.
|
Mark One Lifestyle Inc |
Oct 2014 to Aug 2015 |
Vessyl Smart Cup |
Director of Firmware and Algorithms |
Built from scratch and managed two separate but inter-related software teams to
develop the firmware and algorithms for the Vessyl smart cup. Lead the technical
specification creation, contributed to the product specification creation, and
selected major hardware components for cost-effectiveness and performance.
Mentored junior developers in the creation of a unified code-base that was
platform-agnostic to support alternate component sourcing and long-term
evolution of the hardware.
-
Designed and built from scratch a command-line IDE that combined Visual
Studio, MSBuild, Keil µVision, MDK-ARM, and Git for cohesion between
developers and workstation configurations.
-
Crafted a chip vendor independent, event driven, embedded operating
system focusing on power efficiency, featuring a decentralized cross-library
signalling mechanism and extensive debugging capabilities.
-
Developed the company's core intellectual property signal processing and
machine learning algorithms for drink identification and nutrient detection.
-
Wrote a MatLab based visualization front-end that was used to demonstrate
the technology to investors and press, and used internally to test sensor
hardware iterations.
|
Microsoft Corp |
Dec 2011 to Oct 2014 |
Personal Devices |
Software Development Engineer |
Worked extensively on biometric algorithms alongside Microsoft Research focusing on
world-first automatic human activity recognition and exercise agnostic repetition
counting. Organized rigorous scientific validation studies of established medical
science papers, identifying critical flaws, and incorporating the fixed implementations
into the Microsoft Band product.
-
Invented an algorithm for repetitive exercise counting leveraging established
techniques from audio beat and pitch detection.
-
Ported a Matlab based machine learning proof-of-concept algorithm to an embedded
platform using custom built math libraries and processing pipeline optimization
tricks.
-
Innovated testing methods for validation of algorithms running on device.
-
Developed an algorithm for estimating a user's heart rate based on their activity
level to interpolate between actual measurements being taken, allowing for a 90%
efficiency gain at no loss of fidelity.
|
Disney Research Pittsburgh |
Aug 2011 to Dec 2011 |
TeslaTouch |
Product Development Engineer |
Revised a research hardware prototype into a cost effective and mass producible design.
Developed versatile and fault-tolerant embedded software to integrate with existing host
driver and software. Designed, simulated, and prototyped electronics for driving high
voltage, human contact safe signals.
-
Built a USB powered 400VDC constant current boost circuit and used it to modulate a
software defined analog waveform.
|
Microsoft Corp |
May 2011 to Aug 2011 |
Xbox Accessories Incubation |
Intern Incubation Engineer |
-
Conducted research on the feasibility of technologies to be used in future Xbox accessories.
-
Developed alternative proprietary technologies, algorithms, and formulas for
achieving desired end-user experiences.
-
Worked with vendors to identify problems and rapidly fix/mitigate their effects.
-
Constructed a test harness and demonstration application that allowed rapid testing
and metrics gathering on hardware iterations.
|
Microsoft Corp |
May 2010 to Aug 2010 |
Windows Direct2D |
Intern Software Development Engineer |
-
Built an entire SVG Player implementation to SVG 1.1 specifications on the new
Windows 8 Direct2D framework.
-
Deployed the SVG Player on a distributed testing platform to quickly analyze the
performance of Direct2D library changes using a large battery of diverse tests.
-
Researched possible improvements to the Direct2D API, including ways to improve
performance in special cases and ways to make typical use cases for developers
easier to program.
-
Presented my research findings to the entire Direct2D team, lead a discussion about
ways to implement the changes and defended my position from challenges and questions
from the team.
|
Carnegie Mellon University |
May 2007 to May 2010 |
Robotics Institute |
Research Associate |
-
Designed and deployed the controlling hardware and sensors for use inside a research
boat, including writing drivers that incorporated custom inter-process
communication.
-
Assembled by hand, tested, and debugged complicated circuit boards involving a
variety of construction techniques, and loaded them with control software before
deployment in the field.
-
Wrote simulation and data parsing/graphing scripts in MATLAB.
|
Astrobotic Technologies |
Aug 2008 to Dec 2008 |
RedRover |
Power management team |
-
Worked on the solar panel research and design team.
-
Responsible for mission critical calculations and simulations regarding power supply
for a robot on the moon.
|
Projects
SWANDRIVE |
Aug 2010 to May 2011 |
Smart Wireless Analysis Network for Driver Information and Vehicle Efficiency |
-
Developed a low-level fault-tolerant mesh network protocol based on IEEE 802.15.4
for use in and around automobiles.
-
Future technology tolerant architecture, based around a unified message passing
protocol.
-
Designed and implemented many diverse sensors to capture valuable operating
parameters of a vehicle.
-
Tested the system by mounting it to a go kart and used for telemetry and performance
tuning.
|
JEULES |
Aug 2009 to May 2011 |
JEULES Energy Usage Learning Electrical Socket |
-
Designed and developed a robust energy metering device for replacement of
conventional electrical sockets.
-
Incorporated an ad-hoc mesh network of inexpensive, low power nodes to communicate
information to a central server.
-
Custom PCB development, with focus on high signal integrity and ultra-low power
usage.
-
Performed mechanical and electrical design.
-
First place winner of 2010 IBM Smarter Planet award, and Second place of 2010
Lockheed Martin Eta Kappa Nu award.
|
AAIT |
Aug 2007 to Aug 2009 |
Assistive Automotive Intelligence Technology |
-
Lead a small team to design, build and test a technology designed to improve safety
of cars while simultaneously improve the efficiency of driving habits.
-
Designed a full sensing and processing package to be fitted onto a small 1/10th
scale car design.
-
Presented project at the Carnegie Mellon Undergraduate Research Symposium.
|
Skills and Technology
Personal Skills |
-
Algorithm Research & Development
-
Low-level Optimization
-
Full-stack Debugging
-
System Architecture
-
Data & Information Analysis
-
Product Life cycle Management
-
Technical Leadership
-
Machine Learning Application
-
Tech Specification Development
-
Detail Pedantic
|
Platforms, Tools, and Technologies |
-
Debian/Ubuntu
-
Docker
-
Kubernetes
-
Embedded Linux
-
PostgreSQL
-
MariaDB/MySQL
-
Bazel
-
InfluxDB
-
Grafana
-
ZeroMQ
-
MQTT
-
Windows
-
Visual Studio
-
Matlab
-
VMWare
-
Pro-FX
-
HyperV
-
Cadence
-
Altium Designer
|
Languages |
-
Rust
-
C++
-
C
-
Python
-
Bash
-
SQL
-
C#
-
Java
-
Assembly
-
Batch
-
Powershell
-
Perl
-
XML
-
PHP
-
JavaScript
-
TypeScript
|
Architectures |
-
ARM Cortex-M[0, 0+, 3, 4, 7]
-
x86
-
x64
-
AVR
-
PIC
|
Compilers |
-
Clang
-
GCC
-
MSBuild
-
MDK-ARM
|
Patents
-
Extending Gameplay With Physical Activity Monitoring Device - USPTO Grant # 8951164
-
Automatic Exercise Segmentation And Recognition - USPTO Grant # 9174084
-
Personal Training With Physical Activity Monitoring Device - USPTO Grant # 8951165
-
Motion Based Estimation Of Biometric Signals - USPTO Grant # 9717427
-
Intelligent Vessel
Publications
RecoFit: Using a Wearable Sensor to Find, Recognize, and Count Repetitive Exercises |
ACM CHI 2014 DOI 10.1145/2556288.2557116 |