demos & creative coding

Some of these were built with older software that might have trouble rendering on web. The (now defunct) Processing.js library has limitations, one of which I debugged (mobile device click/tap handling).

Update (2022): I've started using p5.js and Javascript proper, and aside from having to actually learn Javascript, it seems fun!

NewsSense

Built with Javascript frontend + custom backend in python.

NewsSense is an interface to help people make sense of the news by understanding the consensus and contradiction between different reporting venues. This enables NewsSense to provide real-time "reference-free" fact verification, even as stories evolve.

Nighttime Garden

Built with P5.js

Ever since middle school I've liked the pythagorean tree fractal. I was procrastinating, so I made this little garden to plant trees, grass, and moons in. You can blow wind through the grass with your cursor.

Miniature Keyboard

Built with Processing & Processing.js. View the code.

I built a tiny little predictive keyboard for small screens. This was for Prof. Chris Harrison's DHCS class at CMU.

Vector Cloud Visualizations

Built with Processing. View the code.

It's what it sounds like: A relatively basic way to visualize & explore a 2d embedding space.

Affectionate Letterboxed Clone

Built with Processing, using Python to generate new games. View the code.

In college, my friends and I got hooked on Letterboxed from the NY Times. But they only release one game a day, so I built this little app so we could keep playing forever. Todo: Make it playable in P5.js.

Random Walk Pixel Generator

Built with Processing. View the code.

A random walk with 5 degrees of freedom. Sometimes I let it run in the background, and then pause to print the pixels I like.

Matrix Text

Built with Processing. View the code.

Every CS major has this experience: your friends jokingly ask if you're a hacker. I made this for the bit.