Team capstone project for Human-Centered Design & Engineering, sponsored by Seattle Children's Hospital. We designed and developed a physical device to track post-surgical patients' opioid prescriptions and notify them when a new dose of medication is ready.
Read moreChrome plugin designed to provide a user-friendly interface for controlling Netflix with a gamepad or game controller, allowing users to enjoy Netflix in a browser without sitting at their PC.
Web application that randomizes card sets, based on user-specified parameters, for the card game Dominion that requires players to randomly pick ten of up to hundreds of possible cards during game setup.
Read moreJavaScript library for preserving HTML form data across multiple sessions by saving data to web storage. Published on npm. Featured in JavaScript Weekly.
Java 8 GUI application designed to listen to a user's email inbox for open seat notifications on full classes and register the user for the open seat, dropping conflicting courses if specified.
Read moreJavaScript library providing a standardized way of handling gamepads, gamepad events, and gamepad button icons. This library provides support for button and joystick events that the built-in HTML5 gamepads API does not offer. Published on npm.
JavaScript library providing live storage objects for seamless use of chrome.storage APIs in Chrome extensions.
JavaScript library for toggling pseudo-class styles (like :hover) on HTML elements. Co-authored with Tyler Sedlar. My contributions include redesigning the library to store pseudoclass rules in a hidden stylesheet, handling selector edge cases, and writing library documentation.
Tutorial for ElTag, an HTML tag component framework. This tutorial walks through making a simple calculator with ElTag.
This website, created to showcase my portfolio of work. Project page contents are written in Markdown and loaded into a single-page React application. Hosted on GitHub Pages.
Java 7 GUI application designed to automate gameplay of the popular online game RuneScape, with support for user-created automation plugins. Worked with a team to create a website and online community to deliver and support the application, which was downloaded over 50,000 times. Defunct. Public API repository linked.
Python script designed to download all 16,000+ sounds from BBC's Sound Effects library, which must otherwise be downloaded one at a time.
Java 7 GUI application implementing a term frequency–inverse document frequency function for searching a gene/symptom database and displaying relevant results. Created during a research internship at Scripps Translational Science Institute.
Read moreNode.js script that determines all income events received by given cryptocurrency addresses and the value of those income events at the time they occurred. Useful for calculating taxes and cost basis from mining or acquiring cryptocurrency.
Usability research study exploring the effectiveness of the University of Washington's MyPlan tool, which allows students to register for classes and plan their college coursework. Quarter-long team project for HCDE 417.
View reportApp concept created following the user-centered design process to identify plants by capturing them on the phone's camera. Quarter-long team project for HCDE 455.
View reportApp concept created following the user-centered design process to connect people with the farmers that supply their grocery stores and farmers markets. Quarter-long team project for HCDE 318. See linked project portfolio website.
JavaScript library for parsing PlayerUnknown Battlegrounds' custom INI-like configuration file for settings such as keybindings. Created for use in Overwolf plugins.
Chrome plugin that unpauses YouTube when background videos are paused periodically.
Java desktop application that offered keyboard shortcuts to upload text/files to my custom URL shortening, file hosting server or evaluate simple mathematical expressions from the clipboard. Defunct.
Read moreArduino-powered prototype designed to communicate with other Arduinos via XBee radio modules to create a laser tag game. Final project for HCDE 439.
Read more