Side Projects

For my latest projects, please check out my GitHub!



RSS feed combined with an iOS shortcut to pick a random podcast to listen to.


Slack-controlled bot that uses Twilio to buzz people into my building automatically when enabled.

Stack: Kotlin, Serverless



Alexa skill that fetches the latest tweets from @PDXAlerts.

Stack: Kotlin


Trump Report

Performs sentiment analysis and classification of Trump Tweets using IBM Watson APIs.

Tech Used: ReactJS, Redux, IBM Watson, AWS Lambda, AWS S3, AWS API Gateway, Gulp.

Naive Bayes Trainer

Webapp for training and testing a Naive Bayes classifier on a set of text.

Tech Used: ReactJS, Gulp,, Express, and Redux.


Alexa skill that fetches the latest arrivals for TriMet buses and trains in Portland.

Tech Used: AWS Lambda, NodeJS, Gulp, TriMet API.


Alexa skill that records my backpack weight to a Google Spreadsheet.

Tech Used: AWS Lambda, NodeJS, Gulp, Google Spreadsheets API.

AWS IoT button control of Sonos Speakers

I wired up an AWS IoT button to a Lambda function that plays/pauses Sonos speakers. This required a Raspberry Pi running on my local network to control the speakers. To deploy the app and add a public URL, I used

Tech Used: AWS Lambda, Docker, NodeJS,, Raspberry Pi. Sonos API

This is a fork of a Sonos API app written in NodeJS. I enabled HTTP auth by default, and added a Dockerfile so that it could be deployed to a Raspberry Pi via

Tech Used: AWS Lambda, Docker, NodeJS, Raspberry Pi.

Trump Survey Spammer

Essentially, a Chrome extension designed to repeatedly spam Trump’s “media accountability survey” with randomized data. Used Google Analytics to track the number of survey submissions.

Tech Used: NodeJS, Chrome extension API. bandwidth monitor

App that periodically records home Internet upload and download speeds and records the metrics to DataDog.

Tech Used: NodeJS, Docker,, DataDog API.


GeoTagged images Heatmap generator

Dockerized NodeJS app which generates a heatmap given a set of geotagged images. Uses the Google Maps API.


Prank Chrome extension that flips web pages upside down.

Raspberry Pi Kubernetes Cluster

I built a Raspberry Pi-powered Kubernetes cluster based on HypriotOS.

Tech Used: Raspberry Pi, Docker, Kubernetes.


Monkeys to let guests in

I used the Twilio API and Heroku to build an automated phone number that would play monkey sounds and then send the DTMF code to let guests in to my building:


Google Street View Hyperlapse

I forked a really cool project I’d found that renders hyperlapses from Google Street View imagery. I added the ability to export the images from the canvas element the hyperlapse was rendered in, in order to create my own YouTube video from it.


Coolest Guy in America

In 2009, I wanted to see if I could get a website to rank for the first Google search result for “Coolest Guy in America.” So I learned about SEO and was able to get the site ranked in a couple weeks.