Kyle Combes Software Developer

Mission

I strive to create technology that helps improve people’s quality of life while preserving our natural environment.

Projects

Autonomous sailboat

As systems integration lead and software development co-lead for Olin Aquatic Robotic Systems, I am responsible for directing the development of an autonomous sailboat’s software and electrical systems and for ensuring mechanical, electrical, and software systems integrate seamlessly. I am also the lead developer for the monitoring and control web app and an advisor to the computer vision group.

Extensible puzzle box

BOCS is an extensible puzzle box, from both the hardware and software standpoints. Puzzles can be written in Python without any knowledge of the intricate workings of the BOCS. High-level logic is run on a Raspberry Pi Zero W, with Arduinos in responsible for controlling most I/O.

As the sole CS person working on BOCS, I architected the software system, the including inter-device communication protocol, and wrote the vast majority of the code.

Hospital 2.0

For my team's final project in User-Oriented Collaborative Design, we met extensively with nurses to understand their day-to-day lives and to identify ways we, as engineers, might be able to help make their lives better. Our user research and initial proposals unveiled no universal pain points but a prominent desire among some nurses to affect change.

After much radial and lateral thinking, we arrived at a proposal for a new type of hospital based largely on Olin's own engineering curriculum model. Nursing work weeks are split between caring for patients and developing solutions for the issues they run into. On-staff technical and design resources aid nurses in the process, and in the end passionate nurses are empowered to affect change in their workplace.

Community event repository

The Amorphous Blob of Events (ABE) is a project developed by Olin College students in conjunction with the Olin College Library. It is an event repository for communities, with a RESTful API and as well as a "traditional" calendar frontend.

As a member of the original frontend team, I was responsible for researching and selecting a JavaScript framework (React), learning it, and scaffolding the transition of our early, jQuery-based code to React. I also handled most of the UI design and construction and eventually migrated our application state over to Redux.

The calendar view itself (the part you’d print out and stick on the wall) is also of my design. After originally using the jQuery-based FullCalendar, we decided a non-React calendar component was getting in our way too much. When no satisfying React calendar component could be found, I created my own.

Check out the calendar at events.olin.build, or view the frontend code, the backend code, or my React calendar component on GitHub.

Networked device overview

Network-connected headless devices (e.g. Raspberry Pis with no displays) are often difficult to connect to over WiFi. Static IP addresses can be laborious to configure and, when on congested networks, address conflicts often arise. DHCP solves those problems, but there’s no easy way to know what IP address a device has been given by a router.

HereIAm provides an all-in-one network status reporting solution to address this problem. A tiny client Python script reports the network status, including IP address and WiFi signal strength, to a server. A React web app then connects to this server (over WebSockets for live updating) and displays the reported device information.

Low-power baby warmer

As part of our module on systems and controls in Quantitative Engineering Analysis, my partner and I designed and analyzed the control system for an infant-warming bassinet. Our goal was to minimize heating time while keeping power draw below a certain threshold, such that it would not cripple electrical systems in developing regions of the world. We were able to prescribe PI control parameters to use to keep the max power draw below the desired threshold.

View our full report for more details.

Mapping and navigation using LIDAR

For practice with reference frames, autonomous navigation, and obstacle avoidance, my partner and I used the LIDAR on a robotic Neato vacuum to complete a set of challenges. These challenges included mapping a playpen by combining scans taken at multiple locations, using the LIDAR to generate a potential field map around the robot and navigating to the “valley” (a hardcoded location where a bucket had been placed) using gradient descent, and attempting to autonomously locate and navigate to the circular bucket. Unfortunately, the LIDAR’s resolution provided inadequate for circle detection more than a few feet away from the bucket, and thus we were unable to successfully implement fully unguided navigation.

Facial recognition using eigenfaces

As an application of linear algebra, my partner and I implemented the eigenfaces approach to facial recognition. Though the photos of faces had to be taken in the same lighting conditions and cropped the same, the approach did work remarkably well, with a success rate of 91%.

My partner and I attempted to also implement a neural network capable of facial recognition, but we ran out of time. View our full report for more details.

Boat hull design

When learning multivariable calculus, my partner and I designed and built a small boat meeting a specified criterion: it had to have an angle of vanishing stability (AVS) of between 120 and 140 degrees. After modeling various hull shapes and analyzing them in Mathematica, we CAD-ed hull sections, laser cut them out of hardboard, and assembled and demoed the boat without any testing. It worked perfectly, proving our AVS calculation accurate to within two degrees. View our full report for more details.

Billiards simulator

Modeling and Simulation concluded, for my partner and me, with a billiard kinetics simulator. Inspired by our pool shark professor, we modeled the physics of the game to determine how our professor could make a seemingly impossible shot. Check out the poster to see how it could be done.

Experience

Optimus Ride Test Engineer Intern Cambridge, MA Jul 2017 - Present
  • Developed graphical tool for analyzing lidar calibration data for self-driving vehicles
  • Refined lidar calibration and calibration check procedures by analyzing gathered data and identifying shortcomings
Modkit Software Development Intern Cambridge, MA Jul 2017 - Present
  • Assisted in Node.js backend development for next-generation programming environment for VEX Robotics enthusiasts
Olin College of Engineering Library Software Development Intern Needham, MA June 2017 - Aug 2017
  • Developed Web frontend utilizing React and Redux JavaScript libraries for new open-source community calendar platform
  • Began development of custom React calendar view module
Sole Proprietor & Independent Contractor Computer Service Technician and Website Developer North Kohala, HI June 2012 - Aug 2016
  • Designed websites for local businesses (primarily using WordPress)
  • Serviced PC and Mac computer systems as well as associated peripherals for all types of users
  • Learned how each generation interfaces with technology, and tailored tutorials based on client’s technical aptitude and familiarity with product
Aspen Labs Software Development Intern Kapa‘au, HI Feb 2013 - Nov 2013
  • Assisted in development of Silverlight-based PCB CAD system
  • Worked primarily on UI (C# and XAML), manipulating XML-based data structures, and dealing with client-server interaction
  • Built program capable of parsing and solving mathematical expressions entered into command line

Education

Franklin W. Olin College of Engineering Engineering degree candidate | Concentration: computing | Class of 2020

Connect