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 Github.

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 here.

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 here, as well as a few tests and examples. It's currently work in progress; text file input should hopefully be coming very soon.

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 here, as well as instructions to install and use it if you wish.

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 here, as well as instructions to install and use it if you wish. as well as installation and usage instructions.

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 here.