Andrew Dassonville

Robotics Software Engineer + Web Developer

Scroll down to see more!

My Work

MAY 2013 - Present
Open Source Developer - JavaScript, Node.js, Python

I have contributed to many open source projects, including Electron, the-blue-alliance, and many Steam-related modules such as passport-steam and node-steam-tradeoffer-manager.

AUG 2015 - Present
South Eugene Robotics Team - Java, Python, JavaScript, Node.js

I'm a programmer on the South Eugene Robotics Team (SERT) where we compete in FRC competitions using our robots programmed in Java. In 2015 and 2018, our team made it all the way to the world championships.

JUN 2017 - SEPT 2017
OSU Bioacoustics Group - Machine Learning, Python, MATLAB

I was a summer intern for the Oregon State University (OSU) Bioacoustics Group where I used machine learning to classify birds based on their calls. This internship taught me a lot about Python and machine learning.

My Projects

GitPoint is the most beautiful and functional GitHub app for both iOS and Android. Best of all, it is 100% free! It's built in React Native, and is definitely the largest project I've worked on. Some features include viewing your activity feed and notifications, creating, commenting on, and moderating issues, and interacting with repositories.

hltv-livescore is most likely my largest project in terms of users and functionality. It originated as a fork of Nils Margotti's amazing work with hltv-scorebot, but evolved into a much larger project which works with more recent versions of the HLTV scoreboard and has more functionality. I am most proud of this project, as it has very clean code (in my opinion) and utilizes only two external modules. In addition, it has also attracted a large audience and I hope it has come in handy for the many users!

hltv-live-games is another one of my HLTV-related modules. This module will emit an event every time a game goes live on HLTV and has a valid matchid. You can safely expect more things to come from this module as I'm always implementing new features!

CSGOScoreBot is a bot which will automatically post live CS:GO scores and updates to a Reddit live thread. It makes use of hltv-livescore to get live game updates, and creates a new instance every time a game goes live thanks to hltv-live-games.

Not only was this my first time using Jekyll to create a website, it also taught me a lot about using Cloudflare (which I had already used for numerous other websites, including this one) and website management in general. The website is currently hosted using GitHub pages, allowing all South Eugene Robotics Team members to make new posts and update the site with new information, which is much better than our previous Squarespace approach.

To see more, checkout my GitHub profile!

My Skills

Web Development

Backend Development - Node.js, Django, Ruby on Rails

I've used Node.js for most of my major projects, as mentioned above. Ever since starting to use it in early 2015, I've loved the language and have grown very familiar with many major modules, such as Express, Async, Lodash, Request, and more. Along with my Node.js knowledge, I also actively use Django Python and Ruby on Rails to create backend web applications.

Frontend Development - Vue, React, jQuery

Angular.js and React go hand-in-hand with Node.js, and therefore I've used them right alongside many of my Node.js websites. They provide simple two-way data binding between the frontend and the backend, which makes them ideal for any application where data binding is usefull.

Server Management

Linux, *nix

Linux is an extraordinarily useful operating system when it comes to development. I've managed many Linux servers using the command-line interface and run many websites and applications on Linux VPS's.

Load Balancing - Nginx

I've used Nginx extensively for load-balancing applications and websites. Nginx makes load- balancing a breeze, and keeps servers running incredibly fast.

Cloud - GCP, AWS

I've used Google Cloud Platform and Amazon Web Services for several projects, and am comfortable with both interfaces and command-line tools.

Robotics

Software - Java, Kotlin, Rust

Working on creating robot software with the South Eugene Robotics Team has helped me not only refine my Java skills, but also refine my productivity in a team environment. Working on robot software has been incredibly challenging at times, but simultaneously incredibly rewarding.

Vision Processing - Python, C++, Rust

I've used Python and OpenCV to track goals and target objectives. This vision code returns delta values to the robot software, where we then tell the robot where to move next in order to perform the objective.

Version Control

Git, GitHub

I've been using Git and GitHub for many years and, over that time, have learned the best practices and have developed many Git related skills to maximize the utility of version control. I started out by using GUI interfaces to interact with Git and GitHub, but have found overtime that the command-line interface provides much more utility and simplicity.

Contact Me

andrew@andrewda.me