Projects

Bird ID Training Tool

This is a tool that helps you learn to identify birds based on their song and what they look like. It interfaces with the iNaturalist API to provide endless practice examples for any bird on the planet, and automatically links to resources explaining how to identify them. There is also a cool search feature for finding out which birds are commonly observed in your area, and letting you practice those.

This project helped me learn the basics of Figma, which I used to design the user interface (UI) for this app. It is my first mobile-first UI design, and first time I put significant effort into the UI of a website.
Take a Look >

Wildflower ID Training Tool

This is a tool I created to help me learn to identify wildflower families. It repeatedly shows you images of wildflowers in my home area pulled from iNaturalist and you have to guess the wildflower family.
Take a Look >

PMAPS

This is an app for Project WILD, a backpacking / outdoor activity preorientation program at Duke University. It lets staffers annotate and categorize locations on a trail map. These annotations can then be viewed by others, a fantastic way of sharing knowledge about an area. The app existed since 2014, but it stopped functioning around 2016. I became in charge of getting the project back up and running in Fall 2022, and in addition to doing so, improved the design a bit and added several new features (commenting, a legend, etc). Working on this gave me a lot of experience with the Google Maps API and Google Firebase's Realtime Database, which the project is built upon. It also gave me an appreciation for how cloud platforms can make creating genuinely useful apps much easier.

Note: No link for this one since the app is intended for Project WILD use only.

Photo Gallery

An interactive photo gallery layout I created from scratch to display some of my most artistic photos. This project helped me learn a lot about HTML flexbox, CSS variables, CSS animations/transitions, and touch events. You can see the gallery at the link below or by navigating to the website's "Photography" tab.
Take a Look >

Pig Latin

Some JavaScript code I wrote that will translate any website into pig latin. This is one of my favorite projects.
Take a Look >

Interactive Graph Editor

This is a program I created when studying mathematical graphs in high school. It allows you to input a graph and move around the vertices, a useful tool for identifying if two graphs are the same. It also automatically generates the adjacency matrix of the graph, which can be copied and used by other programs to analyze the graph. This is a much quicker method of inputting graphs into a computer than creating the adjacency matrix by hand.
Take a Look >

Catch the Snitch

A Harry-Potter inspired program where you have one goal - click on the flying snitch to catch it. The snitch stops moving once you've caught it. Sounds easy, right? Go on then, give it a try...
Take a Look >

Shadows

A fun little program where you create polygons and then can move a light source around to cast shadows.
Take a Look >

Frustration

This program came out a simple question - "How frustrating could I make a user interface to use?" Try it out and see if you can keep your temper.
Take a Look >

Tank Trouble Remake

This is a remake of the popular online game Tank Trouble, that I did as a personal challenge. Conveniently, it also means I can play the game with my friends without ads or weird cookies.
Take a Look >

Mastermind

The famous board game Mastermind! Now you can play it solo.
Take a Look >

Isometric 3D Rendering from Scratch

This is an attempt to render a rotating cube completely from scratch (just JavaScript and an HTML Canvas). I learned a lot about graphics and rendering through this project.

Puzzle Cube Solver

In an engineering class we created 3x3x3 puzzle cubes where you had to fit together several pieces to form the complete cube. I wanted to see if my cube had a unique solution, so I wrote a program that could solve the cube and output all possible solutions.

Three.js Experiment

This was a test I created in preparation for working on a multiplayer fencing game (which I'm no longer working on).
Take a Look >

Dodge Game

A simple game a friend and I made in an hour-long coding challenge. You move your mouse to dodge the moving red boxes.
Take a Look >

Maze Player

A maze solver program, where you try to find your way through one of several mazes with limited vision. Good luck!
Take a Look >