Projects
Where Next?
A weekend project using Google Maps APIs to suggest places to visit. Select a country, continent, or randomize! Note: Random results may include water bodies or remote locations. Apart from geographical filters, you can also filter the places of interest: Museums - Art Galleries Movie Theaters - Parks Campgrounds - Zoos Restaurants - Cafes Bars - Shopping Malls Department Stores - Casinos Night Clubs - Amusement Parks Stadiums - Churches Mosques - Hindu Temples Synagogues After a place is selected, a maximum of 4 spots nearby are shown, with a photo and a description of it. All of the data is pulled from google maps. (Doesn't work for mobile screens)
Published: January 26, 2025
GreenTech Registry on Blockchain
I developed this project during my first semester at Cornell, as a part of my M.Eng Project for the Systems Engineering faculty. This project aims to solve some of the shortcomings of existing greentech technologies such as lack of verifiability and difficulty in tracking orders by leveraging the strengths of blockchain technology and its features of immutability, verifiability, and transparency. And since this was a part of an academic research paper as well, extensive efforts were put into performance testing of the platform, which included performing load testing under multiple simultaneous users calling computationally intensive functionalities such as create project, and upload images. These tests were performed under different request body sizes and multiple such calls. The test suites and visualizations were custom developed in Python, primarily using modules such as asyncio, locust, and matplotlib for concurrency, load test configurations, and visualizations respectively. These were custom made because Postman's collection run functionality did not cater to this particular use case.
Published: December 26, 2024
Soccer Drop In Statistics Logger
This was a personal project on which I worked at during summer 2024. Since a long time I had been wanting to develop a proper project from scratch which was not a youtube tutorial or a walkthrough. All of the ideas for this project were things that I wanted to implement. The whole backend and frontend has been done by myself, and since I like working on backend more, unfortunately the frontend aesthetics and accessibility are not upto the mark. Anyway, the frontend is in React, and backend built in python's FASTAPI. The scores are regularly updated from a third party API through websockets, the nearby grounds are fetched by using the user's location and Google Places API. The website also performs Google OAuth 2.0 through the frontend itself. A large part of the project also involved figuring out the hosting aspects, including getting a domain, and hosting the frontend as well as the backend folders. I eventually got a domain free for a year through name.com, hosted the frontend through cloudflare pages in their free tier, and got to host the backend in heroku for 2 years through Github's Student Developer Pack.
Published: December 2, 2024
Traveling Salesman Problem Optimization
Built this group project as part of Cornell's Applications of Parallel Computers course (CS 5220), where we tackled the classic Traveling Salesman Problem using various optimization techniques. The goal was to push the boundaries of what's possible with parallel computing. We implemented four different approaches - from exact solutions using Brute Force and Dynamic Programming to heuristic methods like Greedy and Genetic algorithms. The real challenge was optimizing these for parallel execution using OpenMP and CUDA. The results were pretty exciting: Got a 20x speedup using OpenMP for the Dynamic Programming solution Achieved 8x improvement with CUDA implementation Scaled our CUDA-optimized greedy algorithm to handle millions of cities The project really showcases how parallel computing can transform traditionally complex problems. We built a comprehensive testing framework to make sure our optimizations didn't sacrifice accuracy for speed. This was a great deep dive into high-performance computing, showing how theoretical concepts can be applied to solve real-world optimization challenges. I also attempted to solve the World TSP dataset using the CUDA version of the greedy algorithm implementation.
Published: November 16, 2024
Replicated Key-Value Store with Paxos Consensus
Developed a robust distributed key-value store that implements fundamental distributed systems concepts, progressing through multiple stages of complexity: Started with implementing an exactly-once RPC protocol on top of an asynchronous network, ensuring reliable communication between nodes Enhanced the system with fault-tolerance capabilities through a primary-backup replication protocol Implemented Paxos consensus algorithm to ensure strong consistency across replicas, allowing the system to handle node failures and network partitions gracefully Built comprehensive test suites to verify system behavior under various failure scenarios and message ordering conditions The project demonstrates practical implementation of distributed systems theory, focusing on: Handling asynchronous network communication Managing node failures and recovery Implementing distributed consensus Ensuring data consistency across replicas Building fault-tolerant distributed services This implementation served as a practical exploration of how production-grade distributed storage systems handle reliability and consistency challenges.
Published: November 16, 2024
NurseBot: Healthcare Automation System
Developed an innovative healthcare automation system combining robotics and IoT to assist medical staff in routine patient care tasks. The project integrated multiple technologies to create a comprehensive solution for patient monitoring and medication delivery. It is a line following robot, which successfully navigates across '+' junctions, performs a U-turn at the end and starts sensory activity when the finger is placed. The value is updated immediately on the Blynk app's displays, and then the robot automatically follows the same path back to the starting position. Technical Components Built a line-following robot using Arduino Uno with four IR sensors for hospital navigation Integrated a 3-DOF robotic arm controlled by NodeMCU for medication transport Implemented vital sign monitoring using MAX30105 (pulse) and MLX90614 (temperature) sensors Developed mobile interface using Blynk platform for remote monitoring and control Established UART and I2C communication between components Key Features Autonomous navigation through hospital wards Real-time vital sign monitoring and data transmission Remote control through mobile application Automated medication delivery system WiFi-enabled data transmission This project took us more time than expected, since I had no prior experience in working with Arduino, or building robots from scratch, and the other group members also were assigned unfamiliar tasks. But it was a very fruitful experience, especially in the end when we saw the whole bot perform end-to-end operations.
Published: December 26, 2023