Abraham Maslow once said that when all you have is a hammer, it is tempting to start treating everything like a nail.

Every problem is unique, so I approach its solution with the most appropriate tool, not the tool I know. This has given me a wide range of skills: from Embedded Software to DevOps, Robotic Simulations, React Native, Machine Learning, Design for Manufacturing, Augmented Reality, Headless Automation and Integrations, User Experience Design, Product Discovery and beyond.

No Code Deep Learning

As Technical Lead, Ventures (2019 - 2021) I was tasked with developing a service that allows people without experience in AI or deep learning (or even coding), to train Amazon's Deepracer.

The solution involved plugging a web client directly to a virtual Deepracer vehicle within the Robot OS training environment, then adding a control interface that could be used to translate user intentions into reward function values, thus enabling a real-time, human-led reinforcement learning loop.

Sample frames from activity detection experiments

Computer Vision

As a PhD candidate at the University of Toronto (2004 - 2007). I developed an unsupervised algorithm to detect activities of daily living based on ceiling-mounted camera video feeds.

The goal of the research was to understand the activity of older adults in long-term care facilities in order to anticipate, and quickly address, emergencies.

Bootstraping a Hardware Company.

As CTO of tecla (2010 - 2018) I was responsible for the design and implementation of the continuous integration (CI) and continuous development (CD) pipelines that made it possible for a handful of Engineers (3 on average over an 8 year period) to test, maintain and continuously deploy the essential mobile (Android and iOS) app companions to our flagship product, as well as orchestrate the OTA firmware release infrastructure created for our latest generation device.

I am convinced that without these automated pipelines, it would have been impossible to run such an aggressively lean operation.

Peraso chipset closeup

DevOps Gave Us Wings.

As Senior DevOps Engineer at Peraso (2018 - 2019), I used iPXE, Python, Flask and Teamcity to automate monitoring and recovery of testing setups for the company's WiGig chipsets, reducing failure downtime from days to minutes.

This performance improvement made setup failure inconsequential to core operations, allowing the DevOps team to focus on further optimizations.

QA Automation.

When tecla (2010 - 2018) started shipping its second generation flagship product, we were still testing every single unit manually. Testing protocols were so long that testers started skipping steps even though detailed scripts were available.

As part of the production scaling efforts, I assembled a robotic test rig that could complete all QA testing unattended, and integrated it into the shipping workflow, thus allowing a single shipping manager to complete QA testing for every unit.

Appium and React logos

Minesweeping React Native

As Technical Lead with Myplanet (2019 - 2021), I was dropped into a project with a leading Canadian Telco whose React Native app launch had been delayed by months due to stubborn bugs that no other developer had been able to address. Using Appium, I compiled integration tests to consistently trigger the offending behaviors, and used those tests to diagnose and resolve all outstanding issues in a few days.