Find your words!

Looking for anagrams of zebra? How about words you can write using only the letters ABCDEFG? Wordlisted is an online tool where you can upload your own wordlist (or just use the dictionary) and search it for words with interesting characteristics. Optimized for crossword creators, puzzle solvers, and word enthusiasts alike, Wordlisted has a wide variety of search options to suit all sorts of wordplay needs. I created the web app using JavaScript, React, and SCSS. Try it out!


Forging crosswords, word by word.

An open-source sandbox for crossword filling algorithms. Swordsmith is the result of over a year of research and exploration in crossword filling, which turned out to be a rabbit hole of constraint programming, heuristics, and backtracking algorithms. I created it in Python with the help of some of my friends at school, and now it’s in the hands of the greater crossword community. Check it out on GitHub, and forge yourself some grids!


Asking the real questions!

Is it bigger than a breadbox? Breadbox is an online realtime multiplayer Twenty Questions game I created with my roommate Cale Wolf. We built the game’s frontend using React and SCSS, and we made the backend realtime database using Firebase. We created Breadbox over the span of one weekend for HackIllinois 2021, where it placed 2nd overall!

Who's That Fakemon?

Gotta tweet 'em all!

A Twitter bot that tweets a randomly generated fake Pokémon, or Fakemon, every day! And when I say random, I mean random—even their names are randomly generated using a bigram model based on all 898 existing Pokémon names. I made the bot in Python using the Tweepy wrapper for the Twitter API, and it’s running in the cloud using Heroku.


The ultimate snake game

A souped-up snake web game I developed entirely in HTML, CSS, and pure JavaScript. It tracks the user’s high score and stats, features a shop where the user can spend the fruits they’ve accumulated, and offers three speed levels for the user to unlock. The logo and sprites are all original artwork. Snaclops is dangerously addictive and free to play online!

Air Hockey

Man vs. machine

An eerily realistic single-player air hockey simulator in your browser! The game runs entirely in an HTML5 canvas with pure JavaScript. It was my first foray into creating an intelligent “computer player” that acts similarly to a real human. While it may not pass the air hockey Turing test, it feels pretty natural and it’s certainly fun to play against. Try it out online for free!

Penguin Time

Would you look at the clock?

A classic platformer game I built in C++ and openFrameworks. It follows an estranged penguin’s journey to escape the desert. With 10 levels of increasing difficulty, a physics system built from scratch, and fully original sprites and animations, Penguin Time was an absolute blast to create. The game requires openFrameworks to download and play, but its code is open source on GitHub.


So meta, right?

I developed this website using HTML, CSS, JavaScript, and the fantastic static site framework Jekyll. It’s hosted on GitHub Pages, and all the source code is available on GitHub.