JavaScript is a weird and wonderful language. I initially thought of JavaScript as broken and ugly language, but then a former student pointed me toward the wonderful book JavaScript: The Good Parts. Under the influence of that book, I really came to enjoy some of the old school features of JavaScript (hoisting, function scope, etc).

I still have enough purist in me to consider things like the class syntactic sugar in JavaScript a bit of an outrage, but I have come to be more flexible over time.

Specifically, not that I've finally made the jump from my beloved Emacs to Visual Studio, I find that the editing features I get when using proper TypeScript are transformative and make it worth the trouble.

Student Scheduler Sheets Script

A Google Sheets Container-Attached Script for scheduling special blocks
Project screenshot

Visualization of Senior Projects

A d3 visualization of senior projects at my school.

Cats in Boxes

A game to teach web design.
Project screenshot

School Landing Pages

Landing Pages for our School
Project screenshot

Crossword Compiler

A crossword compiler
Project screenshot

Area Multiplication Model

A simple web-based tool to help upper elementary school aged students with multiplication.
Project screenshot

Data Breakdown Tool (Histogram Generator)

A simple sheets add-on to break down spreadsheet data and create histograms
Project screenshot

Cycling Tools

Tools to find activities using a map + strava data.
Project screenshot

Gourmet (web)

Fully Featured Recipe Manager for the Web

Hat Game

A virtual "Hat" for playing Celebrity and other party games during Covid
Project screenshot

All the Things

A way to manage tab hell in the browser.
Project screenshot


Wordle to the power of n

Workflows Jacknife

An all-purpose power tool for automating Google Admin processes with forms.
Project screenshot

Family Spot-It

Custom spot-it cards for the fam.
Project screenshot

Fish Tank

A fishtank game I coded on a plane ride with my kids.

Multi-Folder Manager

A tool to manage folders in multiple locations in google drive.


A convenient library for manipulating tabular data in spreadsheets

Aspen Automator

A tool to automate importing grades into Aspen from Google Classroom or CSVs (and also make it less ugly).

Folder Copier

A spreadsheet-attached script to allow copying folders in Google Drive

Temperature Monitoring

A system for monitoring temperatures in our school.

Grade Visualization

A system for visualizing grades over time.
Project screenshot

Super Simple Portfolio

A simple digital portfolio system built on top of Google Drive.

Signout Bot

A simple chatbot for handling signing in and out of the building.
Project screenshot

Classroom Roster Tool

A simple spreadsheet-attached set of scripts for managing google classroom at the school level

Email Scheduler Tool

A spreadsheet-attached script for sending automated emails.

Google Groups Manager

A spreadsheet-attached script for listing groups and members and mass deleting groups


A simple canvas library for teaching JavaScript to students who want to write games.
Project screenshot


A simple implementation of the game of dots.

Morning Announcements

A tool for managing morning announcements as a Google Slides presentation