projects

I really enjoy writing code and making things, and tend to spend a lot of my free time doing that. These are some of the projects that I have worked on or am currently working on.


Python Flask
Samaritan is a SMS chatbot that we built during a hackathon. The bot allows you to browse Google/Wikipedia, access your Gmail inbox and Twitter feed, navigate using google maps, all via SMS without requiring internet connection. You can perform all the above actions by simply chatting with our bot via SMS to a pre-configured number. We thought it would be cool to perform these actions without opening a browser or a dedicated app.
Won Best use of Nexmo & Best use of AWS at HackRu'17

OpenCV Python Flask
EduSmart is an interactive approach to e-learning, which dynamically adapts content to engage the user and retain their attention. It uses the web-cam to monitor facial expressions and infers from it, interest/concentration levels, difficulty of the content. This feedback is then used to adapt content to users' needs. I built this for PennApps XIV.

C Python Flask
Bask-LIT ball is a real-life version of the popular mobile game - Paper Toss. We built this for fun at the MLH Prime 2016. With no internet connectivity for the first 12 hours, we decided to build this as a fun hack using whatever materials we could scavenge. The game-setup connects with Bose Wireless speakers and tweets out everytime you score.
Top 10 at MLH Prime

C Android ARM
SEUS Sense Enhancement for Urban Safety, is a wearable headphone with custom hardware, that uses multi-channel audio sensors embedded in a headset to help detect and locate cars from their honks, engine and tire noises, and warn pedestrians of imminent dangers of approaching cars. It provides early danger detection in real-time, from up to 80m distance and alert the user on time (about 6s in advance for a 30mph car).
Best Demo Runner up - SenSys'16 Stanford

Python iOS Android
ePrints is a building energy monitoring framework which uses a network of smart plugs and custom sensing nodes to monitor energy. It provides real-time actionable feedback to the occupants to help save energy. The system includes a complex deployment of plug-meters, custom sensors for HVAC and light measurement, cloud services and intelligent algorithms interoperating together.
Best Poster Award - BuildSys'16 Stanford
Best Paper Runner - BuildSys'17 Delft

Python
I wrote this as part of an AI course at Columbia. This is a simple AI for solving 2048, using only the MiniMax search with AlphaBeta pruning. The specification allowed only the use of MiniMax algorithm. I had to design and implement the heuristics which would give the best performance while increasing the chances of solving the game.

Python
CLIHack is a cool terminal to perform a variety of tasks with just a few keystrokes without leaving the terminal. It's a 5-pane terminal with each pane having a certain functionality - pacman, spotify player, SMS capabilities, fully functional gmail inbox, video player which streams youtube videos in ASCII (just for the heck of it). We built this at HackRU'16
Best Developer Tool by Github - HackRU'16

Verilog C Altera FPGA
A real-time adaptive noise cancellation system built using the Least Mean Square algorithm. The implementation was done on an Altera Sockit Cyclone V FPGA interfaced with mics using the inbuilt audio codec, and the output was played on a set of speakers connected via the DAC. All logic blocks for sampling, processing and playing the output were built from scratch.

Python
A back-end for retail stores to automate the pricing & bidding strategy complete with a real-time dashboard. The system automatically sets up an auctionon a per customer basis and uses roth erev reinforcement learning to generate dynamic bidding thresholds based on customer history, purchase patterns, sales history and inventory.

C Atmega
A 5$ gesture recognition glove which facilates easy interaction of the audio vocally impaired. The glove interprets the American Sign Language(ASL) and translates it to text in real-time. The glove uses custom-designed flex sensors which were designed from scratch using the principles of resistive sensing. The sensors are interfaced to an ATmega micro-controller which also does the processing.

C Atmega Processing
Developed a low cost biomedical wristband that monitors pulse, Galvanic Skin response (Sweating) and temperautre. This is a pretty straightforward project but was fun to work on. The pulse sensor was designed using an amplifier and filter circuit using basic electronic components. The collected data is then sent to a smartphone app via bluetooth, which displays metrics. The pulse readings are plotted as a live graph on the laptop using processing.

You can find a bunch more over at my github page, including quite a few old and embarrasing projects that I have yet to clean up.