Kyle Combes Software Developer

Mission

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

Projects

Truck routing for GrubTubs, Inc

The GrubTubs Logistics web app I made (from scratch) for GrubTubs, Inc using React and Node.js turned routing from an hour-long task into a five-minute one, freeing up the Operations Manager to do his other tasks.

Customer information was pulled from HubSpot (authenticated using OAuth) and stored in a MongoDB database. Customer usage data was also pulled from another external resource and stored in the MongoDB database. This enabled my system to automatically provide the billing software with each customer’s usage data and automatically calculate overage fees (a previously manual task).

The app also featured a mobile-friendly page for viewing customers, their addresses, their location on a map (with a movable marker to tell drivers exactly where to go), and their service history with usage data.

Users logged in with their GrubTubs GSuite accounts, and permissions could be controlled so that the administrators, salespersons, and drivers could all access and edit the appropriate information. The app is deployed on Heroku.

Optimizing collections for GrubTubs, Inc.

At GrubTubs, the days on which customers were serviced was determined somewhat arbitrarily. As more customers were added, they were simply allocated to a day and a truck that had capacity. It worked, but a lack of geographic clustering made it far from optimal.

In an attempt to make this better, I created a Python script that would allocate customers to service days while considering service frequency and geographic location. Its goal was to minimize distance traveled, and it used a form of graph coloring to do this. It successfully generated suggestions which were given to Ops to more efficiently service customers.

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.

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 the lead frontend developer, 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

GrubTubs Full-Stack Web Developer Intern Austin, TX Jul 2019 - Aug 2019
  • Created custom web-based truck routing assistant and customer analytics portal using React and Redux which reduced routing time by over 80 percent
  • Built Node.js backend server with REST API for web client and integrated external services using OAuth and webhooks
  • Crafted Python script to allocate customers to service days based on geographic location, average pickup size, and service frequency needs while minimizing driving distance

I am happy to recommend Kyle based on my work with him at GrubTubs. Kyle interned with us and [the net effect was] a large increase in efficiency which had an impact on the bottom line. Kyle was mature for his age and worked well with all members of the GT team that he had to interface with. Interpersonally, he is extremely professional yet personable.

Prior to leaving the position, Kyle wrote a memo to the senior management with other ideas that he had thought of while working with us. This was greatly appreciated by senior management in the company and a number for his ideas have been implemented...

I would not hesitate to work with Kyle again and feel he would be a great asset to any company given his skill set, work ethic and proactivity.

- Peter Black
Pharmaceutical Consultant & COO of GrubTubs
(View on LinkedIn)

Optimus Ride Test Engineer Intern Cambridge, MA Jun 2018 - Aug 2018
  • Developed graphical tool for analyzing lidar calibration data for self-driving vehicles using Python, PyQT and matplotlib
  • Refined lidar calibration and calibration check procedures by analyzing gathered data and identifying shortcomings
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