I'm a high school student from Seven Lakes High School who enjoys coding in their free time. In addition to making a large quantity of weird and interesting projects (mostly games or tools or simulations), I also play Go (also known as Weiqi or Baduk) and compose music.
I have been programing in Python for 8 years, Java for 6 years, HTML/CSS/JS for 5 years, and C++ for 5 years. In addition, I have a little bit of experience with C#, MATLAB, and a few other languages. I am currently learning Rust. Check out some of my projects!
I have been playing the piano for 9 years and the clarinet for 5 years. I am also an amateur composer. Check out some of my compositions!
I have been playing go for a bit more than a year and am currently at a rank of 10kyu on OGS (equivalent to about 1250 elo, for those more familiar with the chess rating system).
In no particular order. Feel free to try these out! The title of the project is the link to the project. Projects without the “Supports Mobile” tag may not work on mobile devices.
A web-based editor for GLSL fragment shaders (which basically run code a bunch of times in parallel on the GPU to determine an output color for each pixel) as well as "scriptable uniforms" which allow the user to programmatically update uniforms (global constants in GLSL) using Javascript. See example code here and here .
A retro-style platformer/puzzle game that will make you think, hard. Get the capybara to the candy with the help of a ghostly helper! I made this with the help of Eva Li, Rounak Rai, and Santiago Espinoza for a local game jam.
A tool I made to help me transcribe music (figure out the notes from an audio recording). It shows you the spectrum of the audio as it plays and tries to identify peaks (which indicate a note or a harmonic of a note that might be played). I have found that it has tripled my efficiency at transcribing music, as it helps me identify softer notes in complex chords that my ear might have missed. Built with Next.js
A really cool simulation that I wanted to implement. The idea is to simulate a pool of two kinds chemicals, A and B, which react according to the chemical equation 2B + A → 3B and gradually diffuse at different rates. In addition, chemical A is constantly added and chemical B is constantly removed. The simulation does not track individual molecules; instead, it tracks the concentration of A and B at each point and updates them according to the differential equations governing the reaction and the diffusion. With an appropriate choice of parameters, the simulation can display surprisingly complex behavior that looks almost biological. I had to recall my AP Chemistry knowledge to get the differential equations right for updating the simulation.
A retro-style game based on a game from coolmathgames.com, with original background music by me. A and D to move the mushrooms, W to rotate, S to drop (on mobile, WASD are replaced with swiping up left down right). Merge 3 or more mushrooms of the same kind to get a better mushroom and some points. I accidentally got myself and quite a few of my friends (I think there were 6) addicted to this game after we play-tested it.
A chinese sliding puzzle. Get the big piece labeled 曹 to the exit at the bottom. These puzzles are harder than they look — many require 50+ moves, with the last one requiring more than 130!
Wordle. Supports 4-12 letter words, with easy and hard difficulties.
Another really cool simulation that I worked on. Simulates three massive stars in 3d space interacting through gravity.
A classic board game. Get five stones in a row! The AI I made for this (using just pattern recognition, no neural networks or even tree search) is hard, but beatable.
An interesting puzzle. You start with a random grid of lights that may be on or off, and can toggle all the lights in any 3x3 square centered on a light in the grid. The goal is to turn all the lights on. I wrote a solver for the general case using a bit of linear algebra (Gaussian elimination mod 2).
A bullet hell game. Eat the circles and avoid everything else! Best played on a touchscreen device, although mouse is okay. Touchpad highly discouraged.
A maze game featuring keys and obstacles. All levels are randomly generated, so some may be easier than others. However, all are guaranteed to be solvable.
One of the first HTML/CSS/JS games I wrote. You control a spaceship with arrow keys and avoid the junk and collect golden hearts.
Math editor thing I made, a bit similar to LaTeX.
Edit the raw XML of an SVG. Has rudimentary syntax highlighting and real-time preview. You can save SVGs to your computer as an svg file or png file.
For you to enjoy (or not. Some of these aren't so good). All of these are original compositions, with audio generated by Musescore.
Improvised at night. I had just finished a difficult project and this is what tired old me came up with.
Improvised during a thunderstorm.
I wanted to see what would happen if I stacked a bunch of fifths on top of each other. This is the result.
Looping background music for a scene in an RPG I made for a game jam. Unfortunately, the game never got finished.
A fugue for 3 clarinets, in G minor. This is my first attempt at writing a contrapuntal piece; I think I did reasonably well.
An otherworldly-sounding piece. I really like the middle section in the Phrygian mode. This was submitted for an AP Music Theory assignment on using the church modes.
I imagine this might be a sad ending to a movie? This was an exercise in voice-leading I did, also for an AP Music Theory assignment.
I sat down one day and wanted to write something happy to make me not sad. This is the result. I think it worked.
A short 8-bar composition I came up with. For some reason, it gave me dark, circus vibes.