Primarily responsible for building backend micro-services for the platform API. Relevant tech: NodeJS, Mongo, Elasticsearch, SQL, Redis and more
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.
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.
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.
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.
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.
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.
Developed software to demonstrate PCM energy savings and design tools with performative criteria for group. Technology used: Java.
Overseeing proper and safe usage of lasercutter, CNC 3–axis mill, 3D printer, Vacuum Former, 6-axis ABB arm. Assist and monitor student lab usage.
Intern and parametric consult. Led workshops in Rhino and Grasshopper.
Selected by thesis candidates for advising and evaluation. Responsible for offering feedback, critique and consultation on students’ work.
Intro. to Architectural Robotics
Architecture Studio: Difficult Synthesis
Fabricating Customization
Materials and Assembly
Intro. to Digital Media
Python – Django, Flask, matplotlib, Keras, Pytorch
JS – Node.js, Express, KOA, Fasitfy, React, Socket.io, PIXI.js
Java – JavaFX, Swing, Spark, Encog, Processing
C++ – OpenCV
C – Arduino
Datastores – Postgres, MySql, MSSQL, Mongo, Redis, Elasticsearch
Misc tools/envs:
Docker, Git, AWS, Gcloud, ZMQ, RabbitMQ
IDEs & Editors: PyCharm, Sublime Text, Eclipse, Vim, VSCode
CAD/CAM: Rhinoceros3D, Grasshopper, RhinoCAM, MasterCAM, RobotStudio, AutoCad
Text & Graphics: Adobe Illustrator, Adobe PhotoShop, Adobe InDesign, MS Word, MS PowerPoint, MS Excel, Google Docs, Google Sheet, Google Slides
OS: Ubuntu/Linux (Preferred), Windows, Mac
Leading and contributing to open-source MMO game server and related projects.
Contributed to open-source project, developed and merged 2 feature requests. Team project for 15-313 (CMU).
Authored “Autonomous Robotic Assembly with Variable Material Properties” Coauthored “RECONstruction”
Contributed work for “All Bent Out”
Contributed work for “Seeing is Doing”
Thesis work and cover artwork included in conference publication.