Projects
This page describes a few personal projects I've made, in no particular order. Generally, I make these in order to deepen my understanding of a topic I'm interested in, or practice some aspect of software engineering I've learned. If I happen to come up with ideas that help other people, that's a big plus as well. You can find all of my projects on my
Omegacat
A discord bot for the MIT Class of 2028 discord server I developed over the summer of 2024. It's primary purpose is to conveniently lookup class information from a course number, as MIT's obsession with numbers is often cryptic, and provides a system to help students find other freshmen in their classes. It also has a few games for fun; notably, a variant of Reaper by AoPS, a currency and gambling system, and a surprisingly difficult collaborative counting challenge.
I built it with discord.py and SQLite; it is currently hosted on AWS. You can view the source code
Technologic
An automatic solver for grid-based logic puzzles. It currently supports sudoku and Nurikabe type puzzles, although the implementation is designed to be flexible and accomodate other puzzle types as well. It was inspired by a homework assignment in 6.101 (Fundamentals of Programming) regarding boolean satisfiability problems and conjunctive normal form. Unlike other solvers, I wrote the core SAT solver from scratch with custom optimization for the grid based nature.
It performs fairly well; sudoku is quite easy (typically under 0.1s, it can solve the World's Hardest Logic Puzzle in under a second). Nurikabe is a bigger challenge, and it does time out on some of the more difficult puzzles.
You can find the source code
CATSOOPER
Two of the classes I took in Fall 2024 (6.101 and 6.200) used a custom LMS known as CAT-SOOP. Unfortunately, CAT-SOOP didn't display overall grades, and it was left up to the student to calculate them. I decided to learn how to webscrape and create the CATSOOP gradE calculatoR to do the calculations automatically for me and any other students that wanted to use it.
You can find the source code
Collections Plus
A WIP Python library to implement a variety of data structures and algorithm frameworks commonly found in competitive programming / leetcode problems.
You can find the source code
Personal Website
The website that is displaying the text describing this website, which displays text describing this website, which displays text... woah.
I built it with the Next.js framework and CSS modules. You can find the source code