Projects
ongoing
![project thumbnail](/assets/img/projects/wackymxter.png)
WackyMXter
KiCadI designed a PCB for a keyboard with an nRF52840 microcontroller - it's wireless, split, and features a rotary encoder!
previous
![project thumbnail](/assets/img/projects/snake.gif)
Snake AI Gamebot
PythonA side-project in high school, this bot uses a simple NN model with real player data.
![project thumbnail](/assets/img/projects/clarkanoid.gif)
The Clarkanoid
OCamlImplements its own Entity-Component-System, custom pixel art, enemy AI, soundtracks, animations, and storyline.
![project thumbnail](/assets/img/projects/thomson.gif)
Thomson Problem
C++Electrons existing on the surface of a sphere. Forces between electron pairs are minimized and result in interesting patterns.
![project thumbnail](/assets/img/projects/tictactoe.jpg)
Ultimate Tic-Tac-Toe
KotlinI built this project in around 2-3 days, though I have yet to beat the AI. Features a Monte-Carlo search tree which simulates 30,000+ entire games per second.
![project thumbnail](/assets/img/projects/javalin.png)
Javalin
KotlinWritten in Kotlin, an optimizing compiler targeting x86 for a procedural language, Xi. Won the "2022 Compiler Bakeoff" Partners: Omkar Bhalerao, Vivian Ding, Felix Roz
![project thumbnail](/assets/img/projects/tsp.gif)
Traveling Salesman
JavaAlgorithms feature brute force, a greedy algorithm, a greedy algorithm with swapping, and an ant-colony heuristic
![project thumbnail](/assets/img/projects/chess.png)
Chess
KotlinI built a chess engine in 2 days. The AI features a minimax search (including alpha-beta pruning) and a simple evaluation function to assess ~20,000 positions per second.
![project thumbnail](/assets/img/projects/steer.jpg)
Steer Calendar
SwiftA student registers their classes and the app fetches information from the calendars of the saved classes and parses the iCal data
![project thumbnail](/assets/img/projects/critterworld.gif)
Critter World
JavaSimulation consisting of multiple critters, each using an AST to store a parsed program written in a custom language, "critter-lang." ASTs are interpreted each time-step.
![project thumbnail](/assets/img/projects/navier.gif)
Navier Stokes
PythonAn implementation of the Navier-Stokes equation, based on the 2003 paper, Real-Time Fluid Dynamics for Games for observing airflow
![project thumbnail](/assets/img/projects/segmentation.png)
Cell Tracking
PythonSegmenting noisy tracking videos of articular cartilage cells under impact.
![project thumbnail](/assets/img/projects/qtclock.png)
QTClock
PythonProcess ECG recordings and display QT interval along with a color gradient corresponding to the patient’s intake drug concentration in a clock-like graph.