Mathematical and electrical tools, calculators, and references
Open in Conversation (Thunderbird add-on)
Thunderbird add-on to make the default message list action "Open Message in Conversation"
Copy URL With Hash (Firefox add-on)
Firefox add-on that enables copying the URL of a page with a hash at the end that identifies the location of the corresponding section of the page

Recent Projects

PyProvide (Python; 2017)
Barebones dependency injection for Python 3.5+, based on type hints
GradeFast (Python, JavaScript; 2015-2017)
Python program with a web-based (React) UI for semi-automated grading of programming assignments
Present (C/C++, 2016)
C and C++ library for handling dates, times, and durations in a sane way
SerGIS Project (Node.js; 2015)
Platform for GIS-based games that focus on enhancing spatial thinking skills or disaster management training (group effort)

More Projects

Serverless Web Applications

Concept Map Visualizer (2016)
Simple web application to visualize relationships between concept graphs and geographic locations on a map
Crisis Visualization (2016)
Visualizes social media activity by or for refugees (group project)
Brick City (2015)
Bare-bones web-based project selector/visualizer, useful for interactive public displays
LBN Electronic Bulletin Board (2014)
Client-side web application to create dynamic and sleek information slideshows, perfect for showing on public TVs or displays
Virtual Running (2013)
Client-side web application that simulates running, for when you are feeling too lazy to go on an actual run

Archived Projects

MP4 Downloader (Firefox add-on, 2009-2013)
Firefox add-on that downloads videos from YouTube and other video sites, supporting advanced features such as automatic naming of files
MasterChess (Python desktop application, 2014)
Simple, cross-platform chess team management system, written in Python and using wxWidgets
HHLS (Node.js, 2013)
Server-client system written entirely in JavaScript (Node.js on the server, browser-based JS on the client) that controls lights, sounds, and other effects throughout a building. It was originally used to control effects in a haunted house.