Employment

HumbleBundle – Senior Software Engineer

Aug 2023 - Present

Python, GCP. Migrated CDN solution and decoupled into multi-vendor compatible interface.

Hart – Software Engineer

Aug 2020 - Aug 2023

Backend engineer responsible for Platform API microservices. Built 2 net-new application backends, one RESTful API microservice, another CQRS/ES (eventsourced) architecture. Relevant tech: NodeJS, Mongo, Elasticsearch, SQL, Redis and more

Voxel51 – Senior Software Developer

Dec 2018 - Mar 2020

Tech Lead on the Product Team responsible for 2 products related to video-first AI job processing and results viewing. Backends: Python, NodeJS. Frontends: Vanilla JS, React, and the usual suspects. Other technologies used: Docker(-compose), AWS, GCP, shell, Celery, bull, Redis, Flask, MySQL, and more.

SoarTech – Software Engineer II

Jul 2017 - Dec 2018

Worked on several projects in the robotics business area. Used technologies like ROS, OpenCV, C++, Python, Keras/Tensorflow, PyTorch, HTML/CSS, JS and more, developed and deployed in linux environments. Scope of work ranged from architectural-scale designs, component development, to algorithm research and implementation.

CMU – Special Faculty Instructor

Aug 2016 – Jun 2017

Taught two courses on digital fabrication equipment and industrial robotics, including associated software, programming, and safety instruction. Additionally, assisted with robotics-focused studio and seminar, providing software solutions and aiding in student inquiry.

IONTANK – Software Developer

May 2016 - Aug 2016

Developed software component for interactive installation and assisted with other software architecting. Participated in planning, design, and implementation over the entire project's lifecycle. Technologies used: NodeJS, RabbitMQ, Python, JavaScript, HTML/CSS, shell scripts.

CMU – Robotics Fellow

Jul 2013 – Aug 2016

Research and project work related to robotics. Develop and deliver software components, course material and other lab infrastructure. Published research. Research included a project that communicated to the robot controller and sensor devices, computed a model of a scanned environment, and adapted movement commands to changing conditions in an assembly task. Technologies used: Java, RAPID, Arduino/C, Python.

Education

Degrees

Carnegie Mellon University
Jan 2014 - May 2017
Masters of Science in Computational Design (3.12 GPA)

Carnegie Mellon University
Aug 2008 - May 2013
Bachelor of Architecture with College Honors (3.39 GPA)
Recipient of Design Commends (S’11, S’12)
Dean’s List for seven consecutive semesters (F’09 – F’12)

Relevant Courses

48-624: Parametric Modeling
48-724: Parametric Design
48-789: Shape and Computation
15-102: Exploring Programming with Graphics
15-112: Fundamentals of Programming and Computer Science
15-121: Introduction to Data Structures
15-122: Principles of Imperative Programming
15-214: Principles Object Oriented Software Construction
15-313: Fundamentals of Software Engineering
15-637: Web Application Development

Skills

Programming

  • Javascript
  • Python
  • C#
  • SQL
  • Java
  • C++
  • Go

Frameworks, Libraries & other Technology

Python – Django, Flask, FastAPI, matplotlib, Keras, Pytorch
JS – Node.js, Express, KOA, Fasitfy, React, Socket.io, PIXI.js, ws
Java – JavaFX, Swing, Spark, Encog, Processing
C++ – OpenCV
C – Arduino
Datastores – Postgres, MySql, MSSQL, Mongo, Redis, Elasticsearch
Misc tools/envs:
Docker, Git, AWS, GCP, ZMQ, RabbitMQ

Contributions & Publications

Open Perpetuum Project – Project Manager + Software Developer

Aug 2017 - Jan 2022

Open-source community-driven development project of a MMO (Massively-multiplayer online game) server. Led diverse team spanning timezones, nationalities and experiences in game design and implementation. Established software-process, team development best-practices, version control conventions, reviews, and more. Server developed in C# with MSSQL database, with other supporting tools using a wider range including: Python, PHP, React, and more.

Misc Open source contributions

Fastify: Release notes
Mermaid.js: Release notes
PlankaKanban: Release notes Fix #441, Feature #450
FreeCol: Feature #43, Feature #199

Rob|Arch 2016 Publication

Authored “Autonomous Robotic Assembly with Variable Material Properties” Coauthored “RECONstruction”

Rob|Arch 2014 Publication

Contributed work for “All Bent Out”

ACADIA 2014 Publication

Contributed work for “Seeing is Doing”

[EN]Coding Architecture Publication

Thesis work and cover artwork included in conference publication.