Projects and Assignments
Apartment Scout
- Developed a React web application that aims to improve the rental process by connecting users
and their homes of interest using third-party agents for trusted in-person tours
- Developed the backend database using Postgres and used GraphQL as the API query language
- Learnings - React, NodeJs, Javascript, PostgreSQL, GraphQL, Jest, SASS, Docker
SysPerf - OS and Hardware Performance Measurement
- Designed experiments to measure the performance of memory, network, and file system on an x86 system
- Improved accuracy by evaluating GCC compiler flags and generated ASM code using GDB
- Learnings - C/C++, POSIX API, Operating Systems
- Check out the code
TritonHTTP Web Server and Triton Distributed Sort
- Implemented a distributed sort algorithm using socket-level programming in GoLang and handled multiple servers
and clients using concurrency control methods, where numerous servers were hosted on a single machine
- Learnings - GoLang, HTTP, TCP/IP, Networks
Cloud distributed file storage
- Built a cloud-based distributed file storage system (like Dropbox) called Surfstore using Go.
The system allows multiple clients to concurrently sync their local files to a server that stores files as distributed blocks
- Learnings - GoLang, HTTP, TCP/IP, Concurrency, Networks
Conference Management System
- Developed a conference management web application providing features like registration of conferences, paper
submission by authors, reviewer assignments, event notification, etc
- Designed Software Requirements Specification, Software Architecture, Software Design for the project to
simplify
the development process
- Used Django as the framework for authentication and implementing MTV architecture of application
- Learnings - Python, Django, HTML, CSS, SRS, Design Doc
- Check out the design
documents
- Check out the code
Basket Queue Implementation
- Implemented Basket queue paper (highly concurrent linearizable lock-free queue) by Nir Shavit, Moshe
Hoffman,
Ori Shalev
- Utilized various thread synchronization techniques like mutex, atomic operations, multi-threading
- Compared Basket queue performance over normal coarse-grained queue and confirmed its better performance
- Learnings - C++, Multithreading, Concurrency, Linearizability
- Check out
the code
Enigma
- Developed a tool to hide texts, images inside an image in a fully functional programming language: Haskell
- Implemented LSB steganography algorithm and RSA encryption algorithms
- Wrote unit tests and documentation
- Learnings - Haskell, Image Steganography, RSA algorithm, LSB algorithm
- Check out the code
Stickman Fighter
- Developed a two-player fighting game in C++ using the Box2D physics engine for simulating gravity, collision, and motion
- Utilized various concurrency features like multi-threading, mutex locks of C++
- Utilized various modules of SFML library for system, network, audio, graphics of the game
- Wrote modular code following object-oriented programming principles, integrated CI pipelines, and wrote
documentation
- Learnings - C++, SFML, Box2D, Concurrency
- Check out the code
Automatic Spoiler Tagging
- Developed a classification model to detect if a comment is a spoiler or not
- Trained the Latent Dirichlet Allocation (LDA) model on the synopsis of movies from IMDB to obtain topic
distribution and on movie comments to obtain its probability distribution; Applied various metrics like KL
divergence, cosine similarity to find the similarity of a particular comment and synopsis of the movie
- Trained One-class SVM with polynomial kernel of varying degrees on the synopsis and spoiler comments
- Compared performance of above models on test dataset using metrics like precision, recall, accuracy
- Learnings - Python, NLTK, Pandas, Sklearn, Gensim
- Check out the code
The Right Connections
- Developed a Slack bot using the Slack Bolt framework to find subject matter experts for a given search
query based on the relevancy of their channel posts as part of the Industries Hackathon at Salesforce
- Used various channel, messaging, event APIs, and features of Slack to allow the bot to obtain message
content of
posts and interact in the channels
- Added a feature allowing the bot to summarize the text of a PDF document attached to a post in a few
sentences; utilized the sentence-transformers library to achieve this
- Learnings - Python, Slack Bolt, Sklearn, Sentence-Transformers
- Check out the code
Cool Compiler
- COOL (The Classroom Object-Oriented Language), a small language designed for compilers course by
Stanford University. COOL has many features of modern programming languages, including automatic
memory management, objects, and strong static typing
- Implemented Lexer, Parser, Semantic Analyzer, Code Generator for COOL programming language in Java
- Wrote tests for various scenarios to test the intended end-to-end behavior of the compiler
- Learnings - Java, Lex, Yacc, Compilers
Image Processing (IITH) Assignments
- Implemented image zooming using nearest neighbours and binary interpolation
- Implemented DFT, IDFT and convolution of two images
- Implemented image denoising techniques using various filters
- Implemented Motion Estimator of Video Codec
- Learnings - Python, Numpy, Matplotlib, Image processing
- Check out the code
Parallel and Concurrent Programming (IITH) Assignments
- Compared Different Parallel Implementations for Identifying Prime Numbers
- Implemented Filter and Peterson based Tree Lock Algorithms
- Implemented Wait-Free Atomic Snapshot Comparing the Solutions of MRSW and MRMW
- Implemented and Compared CLH and MCS Locks
- Learnings - C++, Multithreading, Concurrency Support Library
- Check
out the code
Operating Systems (IITH) Assignments
- Implemented Rate Monotonic Scheduling and Earliest Deadline First Scheduling
- Implemented Test and Set, Compare and Swap, Bounded Waiting Mutual Exclusion Algorithms
- Implemented the Bounded Buffer Producer-Consumer Solution
- Implemented Reader Writers Solution using Semaphores
- Implemented Dining Philosopher's Solution Using Conditional Variables
- Implemented Class Mutual Exclusion Algorithm
- Learnings - C++, Multithreading, OS, Concurrency Support Library
- Check
out the code
Machine Learning Coursera
- Implemented Gradient Descent, Linear Regression, Multi-variate Regression, Logistic Regression, SVM, kMeans,
in Matlab
- Learnings - Matlab, Machine Learning
- Check out the
code
Deep Learning for Vision (IITH) Assignments
- Implemented Correlation, Convolution, Canny Edge Detection, Image Sharpening in Python
- Utilized Line Detection, Point matching using RANSAC, Harris Corner Detection from OpenCV
- Implemented ResNet, Grad-CAM in Pytorch
- Implemented RNN, LSTM, Siamese Network in Pytorch
- Learnings - Python, Numpy, OpenCV, Pytorch, Matplotlib
- Check out
the code
Deep Learning Coursera Specialization
- Learned and Implemented Deep NN, ConvNets, ResNets, RNN, LSTM, FaceNet, YOLO, Neural Style Transfer in Keras
- Learnings - Python, Numpy, Keras, Tensorflow, Matplotlib
- Check out the
code
Data Structures (IITH) Assignments
- Implemented Linked List, Doubly Linked List, Binary Search Tree, Queue, Graph in C++
- Learnings - C++, Data Structures
- Check out the
code