Projects

See what I've worked on.

Runbot Infrastructure Failure Reporting

ScalaBazelProtobufAWSMySQL

Runbot is a Databricks-specific continuous integration (CI) system. I designed a system that detects and reports infrastructure failures in Runbot (such as out of memory errors, disk failures, GitHub outages, etc.). I created monitoring for the CI team to quickly notice, diagnose, and address these failures. I also created a user interface to display failures to end users (other engineers running automated tests) so that they could understand if their tests failed due to infrastructure problems beyond their control.

Roblox Secrets Store

C++

Roblox is a game engine and platform that allows individuals to develop games for others to play. I worked on Secrets Store, which allows developers to securely fetch secrets (like API keys) and insert them into outgoing HTTP requests in their games. Specifically, I designed and built the engine half of this project, which loads secrets from a backend microservice, allows users to transform them, and inserts them into outgoing HTTP requests. This functionality is exposed to users as a new Secret type, which can be loaded and manipulated but not serialized. Thus, it allows developers to avoid storing secrets in plain text in source code, and it prevents accidental leakage of these secrets.

More Info

Onshape Selective Merge

AngularJSTypeScriptProtractorLess (CSS)HTML

Onshape is a cloud-native mechanical CAD platform (think the Google Docs of CAD) with a Git-inspired version control system. During my 2022 summer internship, I developed the front end of the selective merge functionality, which allows users specify which branch's changes to incorporate in a merge on a per-tab basis (tabs in an Onshape document are like files in a Git repository). I created a dialog using AngularJS and TypeScript, which helps users visualize which tabs changed on each branch so they can make more informed decisions and feel more secure about merging. My work involved creating the dialog, writing end-to-end tests, going through the code review process (from both sides), and working in an agile environment with others (developers, UX, and QA).

More Info

Alcove

Node.jsExpress.jsSQLiteHTMLSCSSDocker

Alcove is an open-source Unix backup system written in Node.js. During my 2018 and 2019 summer internships, I worked on several different aspects of the project. My largest contributions were designing a web application to monitor existing backups and the progress of ongoing backups, implementing an email notification system to update users and backup failures and statuses, and writing a script to change web application user passwords and permissions without manual SQL queries. This project was also my first exposure to working on a relatively large codebase, collaborating with others using Git, and using Docker.

Source Code

IIHG LIMS

PHPDrupal MariaBDDocker

During my 2020 and 2021 summer internships, I contributed to this laboratory inventory management system for the Iowa Institute of Human Genetics. I completed a variety of outstanding tasks, but my biggest contributions were adding support for multiple library pools to share a flow cell lane and creating a dynamic project request form to eliminate the majority of the lab's data entry workload.

Internet of Utilities

Node.jsExpress.jsReactRaspberry PiPython

The Internet of Utilities was a project for HackUMass IX. Three friends and I developed an application that used a Raspberry Pi and computer vision to detect when watter bottle filler stations needed their filters changed (by reading the status light). We displayed the buildings around campus that most needed their water bottle fillers' filters changed on a React web app for maintenance to use.

Source Code More Info

PixelHeart

Node.jsExpress.jsMariaDBHTMLCSSStripe API

PixelHeart was a fundraising web app developed for the 2020 HackMann online hackathon, where it was an honorable mention. It allowed users to buy pixels from nonprofit organizations on blank HTML canvasses and paint them for the rest of the world to see, thus letting nonprofits raise money while generate unique artwork.

Source Code Devpost

SMSsage

Node.jsExpress.jsSocket.IOMongoDBReact NativeReact Native Game Engine

SMSsage was a cross-platform messaging app with a built-in snake game (conceived as a cross-platform alternative to GamePigeon). I developed the app with a partner for the 2019 ISE Coding Garage, where we won first place in the advanced division. I worked primarily on the backend including JWT authentication, phone/email verification, and Socket.IO messaging.

Apportionment Calculator

Rust

While teaching myself the Rust programming language, I created this apportionment calculator as a practice project. It apportioned seats among a legislature (like the U.S. House of Representatives) according to the Huntington-Hill method.

Source Code

Replay

JavaWPILib

Replay was Iowa City Robotics's 2020 robot, which competed in the FIRST Robotics Competition® game Infinite Recharge. The main features of the software included vision-based targeting, a "smart" ball indexing system that responded to jams, and a PID-controlled drivetrain.

Source Code More Info

Thwack

C++WPILib

Thwack was Iowa City Robotics's 2019 robot, which competed in the FIRST Robotics Competition® game Destination: Deep Space. This was my first real exposure to writing robot code, and I learned about state machines, PID controllers, and basic vision tracking.

Source Code More Info

Game of Life

C++

I developed this command line simulator as a final project for CS:3210 (Programming Languages and Tools: C++) at the University of Iowa.

Source Code More Info

Freefall

JavalibGDX

Freefall was cross-platform infinite runner game where a parachutist had to avoid obstacles while falling from the sky. I developed the app with a partner for the 2018 ISE Coding Garage, where we won third place. This was my first time developing a mobile game from start to finish, and I learned a lot about game design, collision detection, and motion controls.

Source Code

AP Euro CCOT

JavaScriptHTMLCSS

This was an end-of-term project for my AP European History class. It displayed several historical events on a map, along with descriptions of each event. I learned a lot about working with maps in code while creating this project.

Source Code Deployment

© 2024 Dominic Rutkowski