A few of my personal projects, sorted by some combination of recency and effort:

Tile Generator

A web app to generate tile maps from real-world data, using various data sources (mostly sourced from Google Earth Engine) that are stored and assembled with Postgis. Visualized on the frontend with React/leaflet.



A multiplayer game, built with websockets, Node.js, and React, in which players manage their base by solving programming problems.


Rust BitTorrent Client

An implementation of the BitTorrent spec in Rust – including a parser for bencoded objects – and a web client with a UI built with React/Redux. Writeup here.

Vaporwave Planetary Surface Viewer

A WebGL project that shows what the solar cycle looks like at various points of the year on a planet with adjustable orbital parameters. E.g., on a planet with an orbital inclination of 90 degrees - tilted on its side - everywhere on the planet but the equator experiences polar night for some part of the year.


Zosterops Games Package

Some silly games made in Unity, themed around a type of birds called white-eyes. The first one: navigate to the top of Mt. Kilamanjaro while freeing the white-eyes trapped in cages before a wandering cat gets to them. The second: a kind of tower defense game where you place obstacles to hinder the enemy (cats) while boosting your friends (white-eyes).

World Climate Data

Maps monthly average high/low temperatures, based on interpolated and altitude-adjusted USGS station data.

While the data here is still useful, the code definitely needs a refresh - I may attempt to revive this at some point.

In early stages:

Twitter Profiles

Topic analysis of Twitter accounts. Categorizes interests based on a hierarchy derived from the Wikipedia category graph.

Other Minor or School Projects:

Presentation on GPGPU in the browser * Demo for the GPGPU presentation * Recipe Maker * Kademlia DHT implementation * A Yik Yak-like life hack aggregator * Mobile app for beacon-guided museum tours * San Francisco Building Ages * A compiler for a Scheme-like language * A WebGL raytracer * An SVM-based reverse image search engine