Trek/Split started as a way to split up trip expenses between my friends and I. We use it religiously, from rafting to backpacking trips, it helps us split our expenses evenly. It has a Django backend primarily used as a REST server, with jQuery(Disclaimer: I built this in 2013) running the frontend.

Opalescent Cyclery

A site for Opalescent Cyclery in Tacoma, WA. As awesome as Javascript is, it was intentionally left out.


A frontend interface to make time tracking easier with Fogbugz. It's built with Vue and intentionally has no build process. Thankfully Fogbugz has a great API and amazing developer support.


A Settlers of Catan board without the setup. Best used with a projector mounted straight down. Also included is a little set of dice that rolls & highlights the currently rolled tiles. It may not seem like webwork, but is built with Vue & uses SVGs for the graphics.


A barebones interface to get images from a specific Tumblr, filtered by tags. It is written in vanilla JS, and was built to be as simple as possible. The backend is an AWS gateway that formats & passes the request through to Tumblr's API.

Follow the Fuso

A way to track our 2021 inaugural trip in the Fuso. It's updated by sending satellite messages from a Spot Device to an email. The latitude, longitude, and date are then parsed from the email and inserted into a Google Sheet. The Google Map then requests the sheet data in JSON via an AJAX request.


When searching for campgrounds throughout the United States I used to have multiple tabs open. One for USFS Campgrounds, one for State Campgrounds, and many to look at the weather for each of the campgrounds. It seemed like there should be somewhere that they all come together. Enter CampClimate, it is built with a Django backend, multiple census and campground databases, and connects to the NDFD Soap Server to retrieve weather info. It allows the user to now quickly search for campgrounds and weather in one place!


A small Vue JS app that takes a set of images and randomly selects them. Think tic-tac-toe, but with Images. Built to be simple, with no build process.


Built to help keep track of time spent while working on various projects. Built with AngularJS for the frontend, it leverages a .NET API built by a former coworker for the backend. The build process is handled by Gulp and Bower. It is statically served from Amazon S3.