Select Tech Projects
kudOS is a multi-threaded, multi-core operating system built in C++. It has support for memory management (allocation and deallocation); forking and exiting threads and processes; blocking; prefetching and buffer cache eviction; creating, reading from, and writing to files on disk; and file system journaling. I also implemented many system calls like fork, clone, execv, exit, waitpid, open, close, read, write, pipe, dup2, and lseek.
Re-Architecting Slack's Workspace Preferences
As a Summer 2018 software engineering intern at Slack, I re-architected a key data model for better scalability and robustness. I changed workspace preferences (e.g. permissions for adding custom emoji) from a per-workspace JSON blob to an Entity/Attribute/Value model. You can read more on the Slack Engineering Blog.
BurgunDB is a main-memory optimized, column-store database management system built in C. It features batched queries, multithreaded scans for three types of queries, clustered and unclustered B-tree indexes, and hash joins. It is named after my favorite color.
Find That Song
I regularly get indie songs stuck in my head, and when I search for the lyrics on Google, I only find more popular songs. To solve this problem, I created a web app that will let you search for lyrics in a given Spotify playlist. The project involves web scraping, caching, and fuzzy matching using regex. It utilizes the Flask framework and Spotify API. Find the code here.