A common thread runs through most of these: a screen people interact with — usually a Vue.js app backed by a Node server and a database, often with a social or sharing component — driving the custom firmware and controls behind some everyday object repurposed to do something it was never designed to do.
I excel at adding physical and digital interactivity to existing structures built by fabricators — integrating custom electronics, firmware, lighting, and software into someone else's build to bring it to life.
These are just some of the projects I've had the chance to work on — not a complete list. Over the years I've built many more, including numerous touchscreen kiosks and interactive activations that aren't captured here.
Marketing Activation — Brooklyn, NY
Interactive Engineer
A Halloween-themed marketing activation built into a Brooklyn brownstone. Behind a custom door sat the gutted internals of a vending machine, rebuilt with custom motors and controls. When kids pushed a large 3D-printed Reese's button, the machine dispensed 10–12 candies while triggering Halloween sound effects and LED lighting features throughout the space. A Node server handled the overall controls, with the motor-control firmware running on a microcontroller.
Commodity Classic 2020 — San Antonio, TX
02/24/2020 – 02/27/2020
Interactive Engineer
The goal of this activation was to have attendees throw a football through one of the holes and trigger crowd cheering sounds. I designed the controller and backend lighting control, linked together with sensors feeding a server and database for tracking.
Cymer Headquarters — San Diego, CA
02/21/2020
Interactive Engineer
Designed to showcase Cymer's EUV and DUV lasers at their San Diego headquarters.
2020 CES — Las Vegas, NV
01/04/2020 – 01/10/2020
Interactive Engineer
At CES 2020 the USPS built a massive wall of mailboxes lit with custom LEDs, all controlled over DMX and driven by a Node server. The wall had three interaction stations, each running a touchscreen web app where attendees would fill out some information and learn about the brand.
Completing the experience kicked off a whole sequence on the wall: you'd be told to look up, a hidden DSLR camera captured your photo, and a printer in the back produced a prepaid-postage print. A randomly chosen mailbox (one of nine) received the prize — socks and other goodies along with your photo — while lighting cues in the back lit up that mailbox and the station screen showed you which one your prize was in.
The client wanted a fully custom skeeball game. Starting from the sensors that come with a skeeball machine, I wrote brand-new firmware and connected it to a Node server with a touchscreen front-end — adding custom graphics, custom scoring, and multiple levels to make it far more elaborate than a standard skeeball machine.
Salesforce Dreamforce 2019 — San Francisco, CA
11/20/2019 – 11/25/2019
Interactive Engineer
A Tinder-style web app designed to demonstrate Google Analytics on major brands, in this case Conagra Brands. I built the custom firmware and controls for the vending machine, a custom web app running on a tablet, and the server tying it all together — and served as the on-site engineer with our Google clients. 15 minutes into opening, a severed network cable took the vending machine offline — I switched all devices onto a wireless VLAN and had it back up quickly.
Attendees waited in line up to an hour to get matched with a snack — the only real limitation was how many snacks the machine could hold.
Forbes 30 Under 30 — Detroit, MI
10/27/2019
Interactive Engineer
LED strips driven by a custom firmware controller, with an option for the client to program the lighting over DMX. Paired with it was a social-share experience: a web app I built where users could walk up, select different items for their image, take their photo, and share it — all from a tablet.
2019 MLB All-Star Game — Cleveland, OH
07/03/2019 – 07/10/2019
Interactive Engineer | On-site Engineer
From the hardware used to light the buttons, custom circuit board, embedded software, to the front-end interface — I had the unique opportunity to build, program, and set up this interactive experience at the All-Star Game in Cleveland. The Altuve Challenge is a game where users try to hit lit buttons as fast as possible. The manufacturer's button lights were single-color and dim, so I added a NeoPixel ring to each button and designed a custom printed PCB running custom firmware to interface them with the Node server.
An activation where guests threw balls at a plate fitted with a custom pressure gauge I modeled and built. The gauge read the compression of the plate to calculate ball speed, casting a vote for a Chevy vehicle — and each throw triggered DMX lighting and coordinated audio/video.
2019 Google Cloud NEXT — San Francisco, CA
04/09/2019 – 04/11/2019
2019 Google I/O — Mountain View, CA
05/03/2019 – 05/10/2019
Interactive Engineer | On-site Engineer
This activation showcased the speed and accuracy of the Edge TPU chip on the Coral Development Board.
My role was to design and build the mechanical pieces that moved and sorted the pucks. The TPU inferred a chute ID and sent it to a Node server running on a custom-soldered microcontroller that controlled the flippers. The main chute was driven by a custom BLDC motor with a calibrated PID controller, connected to a power supply retrofitted with a resistor bank to absorb back-current.
The video below shows testing of the custom servo motor. One of the major hurdles was finding a servo that was fast, strong, and affordable enough to move the nearly 4-pound chute.
Interactive Engineer
An in-house reflex speed game built as a reusable 24G product — lit buttons paired with a touchscreen where players race to hit each button as it illuminates. I designed the custom PCB, assembled and wired the NeoPixel lighting, and wrote the controlling firmware. The controller is a plug-and-play serial module: any device can drive the buttons and lights and read presses back, making it easy to build new front-ends on top.
01/05/2018 – 12/20/2018
Hardware & Software Integration / Controls Engineer
Designed a linear actuator to control a CVP in a CVT. My role was to implement the PID controller and motor control, ensuring power and signals met the required specs, speed, and cycle life.
Dr. Ong — Chemical Engineering Department, Michigan Technological University
01/11/2018 – 12/20/2018
Hardware & Controls Engineer
Designed and built an open-source roller bottle testing device for Dr. Ong's lab. Included custom PCB design, microcontroller programming, and a 3D-printed mechanical frame.
06/01/2016 – 08/11/2016
Project Lead | Hardware & Controls Engineer
Restored and automated the bowling alley in 24G's main office. Delivered in 60 days before fall classes resumed.
Blue Marble Security — MTU Enterprise Program, Houghton, MI
09/09/2015 – 12/22/2015
Project Manager | Lead Developer
Built an open-source can return machine through the Michigan Tech Enterprise program, which gives students hands-on industry-style engineering experience.