Live Canvas

Globally shared pixel-y drawing tool, where drawings from all users are synced and persisted in real time. Built for USC's CSCI-201 final project, in which I contributed much of the networking and client/server syncing.

WebGL Fluid Simulation

Efficient and GPU-optimized fluid simulation with edge boundaries and interior walls for fluid to reflect from.

Infinite Procedural Terrain Generator

Fast, multi-threaded, infinite terrain generator in a low-poly art style.

Emoji Cooccurrence

Physics-based visualization of emojis that occur most frequently with other emojis in online comments.


Win rates and various other statistics for daily Wordles, with data scraped from results posted to Twitter.

SAT Practice Tools

Full-featured web interface for taking and grading practice SATs.

JS Animation Renderer

Tool that overrides JavaScript timing functions to render a perfectly smooth video of a given web animation.