Projects

Systems/SWE Projects

Relational Database in C++

Developed a relational database in C++ that supports assignment and non assignment queries, indexing using B+ trees, and sorting using 2-phase merge sort.

Multithreading Simulations

Simulated a cab booking system and a college mess system using concepts of multithreading, mutex locks, semaphores and process synchronization.

Compiler for Racket Programs

Simulated a cab booking system and a college mess system using concepts of multithreading, mutex locks, semaphores and process synchronization.

Linux Shell

A command line interface based on the Unix Bash shell. Supports multiple commands per line, signal handling, and chained redirection and piping.

Custom Video Games

A command line interface based on the Unix Bash shell. Supports multiple commands per line, signal handling, and chained redirection and piping.

Jetpack Joyride Game

Terminal based game similar to Jetpack Joyride implemented using OOPS concepts. Has obstacles like lasers and magnets, speed-boost and shield powerup, and a boss enemy.

Bulk Purchase WebApp

A complete app written in MERN stack where sellers can host products along with the minimum bulk dispatch quantity. Enables customers to search among the hosted products, place orders, view order status and give reviews and ratings for the seller.

ML/Data Science Projects

Spotify Reccomender System

A reccommender system that uses Spotify playlist data to recommend songs given any Spotify input song. Supports intricate queries like iterative searching, mood-based searching etc. Used algorithms like network embedding, MLP and clustering to implement.

WikiSearch

Wrote code to compress any Wikipedia dump in XML format to an inverted index of 1/4th the size. Can further process the index to return top matching results for any search query based on tf-idf score. Also supports complex search queries like searching among specific fields such as "Title" and "References".

Reflection Removal in Images

MATLAB implementation of paper titled, ”Reflection Removal using Ghosting Cues”. Fixes problems of reflections appearing in image when taking photographs through a glass window. Extracted the reflected layer from the image for enhancement.

Taiwan Pollution Data Visualization

Designed an interactive page using data visualization concepts to display trends of Taiwan Air Pollution. Dataset collected from Kaggle. Includes an interactive map and various configurable views.

Classical Computer Vision Algorithms

Implemented the Grabcut algorithm for image segmentation, and the Viola Jones algorithm for face detection from scratch.