About Me

I'm an undergraduate at BITS Pilani Goa Campus with double major in Computer Science & Chemistry.
Alongside software development, I am interested in Deep Learning and its applications in Computer Vision, NLP and Reinforcement Learning.


Work



BITS Pilani Goa Campus

Aug '13 - May '18
Goa, India
Pursuing my Bachelor's Degree here, I learnt, collaborated, built software and helped teach.


Microsoft Research

Jan '18 - June '18
Bangalore, India
Research Intern in the Machine Learning and Optimization Group working towards my undergraduate thesis with Dr. Prateek Jain.


Amazon

July '17 - Dec '17
Bangalore, India
Worked as a SDE Intern on deep learning for image based contextual advertising at A9's Ad Optimization team.


Infibeam

May '15 - July '15
Ahmedabad, India
Worked with Docker, ELK Stack, Tomcat other production tools during my summer internship.


Aspiring Researcher Challenge

Spring '15
Stanford University
Collaborated with Dr. Sharad Goel to design tasks to investigate the Wisdom of Crowd effect using crowdsourcing. Poster published in 28th ACM UIST Symposium (2015) - Charlotte, NC.


Tesseract Imaging

Oct '14 - Jan '15
Mumbai, India
I contributed as a software developer at this startup by Kshitij Marwah from MIT Media Lab. Developed a 360 photo and video viewer before YouTube launched it!

Projects

AI | open source | academic | personal

Artificial Intelligence

Library for ANN

Spring '17

Implemented a library in Python with backpropagation for Fully Connected Layers supporting multiple activation and loss functions for ANN using computational gate approach.

American Sign Language Recognition

Fall '16

Trained a CNN in TensorFlow for localization and detection of 24 alphabets in American Sign Language in a camera input. Accuracy of 99% on localization (IoU >= 0.5) and 98% on top-5 classification on test data - the highest among 15 teams in machine learning class of Fall 2016.

CartPole RL on OpenAI Gym

Fall '16

Trained a Deep Q-learning Network Reinforcement Learning agent in TensorFlow to solve CartPole problem in the OpenAI Gym environment.

Vision Classification

Fall '16

Implemented standard papers in TensorFlow to achieve bechmarks results on the CIFAR-10, Google SVHN and MNIST dataset.

Connect4 AI

June '15

Developed a bot to play the game of Connect4 against a user. Implemented in Java using Minimax tree and state evalutaion score.

Open Source Contributions

AutolabJS

Spring '16

I started AutolabJS as an open source project out of college. It is a real time auto evaluation software for programming labs. The software currently supports automatic evaluation in Java, Python2, Python3, C++ and C programming languages. Autolab uses Gitlab as a component to provide the version control system. All the student code submissions reside in Gitlab, thus benefiting from powerful git system. It evaluates the submissions in a distributed environment with load balancing and the software is modular with separate microservice instances for all the application components. The initial release was deployed for OOP course (Java) with 170+ students in Fall 2016 and for multiple courses in future semesters.
Check the project on GitHub if you wish to use deploy it for your labs or contribute.

Academic Projects

BibTeX Parser

Spring '17

Implemented using YACC, it uses LALR(1) bottom up parsing to seperate fields and values in the given input BibTeX code.

C Code Beautifier

Spring '17

It uses Flex to convert input C code to HTML and shows it the browser with line numbers and syntax highlighting.

FTP Client and Server

Spring '17

Implemented in C using socket programming, it supports FTP operations including directory browsing.

Multiuser chat service

Spring '17

Implemented a chat service in C, where users can send unicast, multicast and broadcast messages.

Network Topology Simulation

Spring '17

Simulated a network topology using NS2 and NAM and analysed the logs using xgraph and AWK scripts.

Similairty Metrics for Catalysts

Spring '17

Visualized oxide catalysts based on various similarity metrics computed on the feature vectors representing their properties.

Siemens Corporate Research - Applied Parallel Computing

Fall '16

Performed hotspot analysis to identify performance bottlenecks in the given sequential software.
Improved performance by converting the sequential bottlenecks to parallel while maintaining synchronization using OpenMP.

MIPS Architecture Simulation

Fall '16

Implemented MIPS Single Cycle, Multi-cycle and Pipelined architectures in Verilog supporting various instructions.

CUDA Matrix Operations

Fall '16

Implemented various vector and 2D matrix operations in CUDA with performance optimizations.

Fastest Worder First

Fall '15

Multiplayer game in Node.js and Socket.io to make valid words starting with an assigned alphabet in one minute.

Personal Projects

Selective Color Focus

February '16

Application to automatically determine and focus on the dominant color in the selected box for an image while all other parts convert to greyscale. Implemented in C++ using OpenCV.

Material Design Website

April '15

Made a fully responsive website for NFCFA '15 organized by Department of Chemistry. Made using Materialize library. The backend included sending registration confirmation emails using PHP.

Stock Data Retriever

March '15

Updates stock data from the web into the database periodically. Allows to query the data from mobile in JSON format using URL routes. Implemented in Python using Flask, SQLAlchemy and Shell.

Sticky Notes with Hashtags

Fall '14

A sticky notes Java application that recognizes text written in an image using Tesseract OCR engine and groups the notes based on hashtags in the recognized text.

Gesture Controlled Mouse

Fall '14

A program to control the mouse movement and left click by tracking a marker. It is implemented in C++ using OpenCV to track the marker and X11 library to control the mouse in Linux.

Teaching @ BITS


Machine Learning
Teaching Assistant
Spring '17

Co-authored an introductory ML lab exercise book with Prof. Ashwin Srinivasan .
Taught theory and designed the structure for the Applied Machine Learning portions.
Conducted lab sessions and office hours for 53 students.
Mentored students during the final project on sequence predicton for Google Street View House Numbers dataset.
Graded the final projects and viva-voce performance.

Neural Networks & Fuzzy Logic
Teaching Assistant
Spring '17

Taught theory and designed the structure for the Deep Learning portions.
Conducted lab sessions and office hours for 65 students.
Mentored students during the final project on binary semantic segmentation tasks using CNNs.
Designed and graded the mid-term assignment on backpropagation implementation.

Computer Programming
Professional Assistant
Spring '15

Mentored and graded 30 students on C and Bash programming during the lab sessions.

Talks


Applications of ML in Chemistry
Department of Chemistry, BITS Goa
Nov '16


Introduction to TensorFlow
Google Developers Group, Goa Chapter
Oct '16

Clustering using Seeded k-means
Department of Computer Science, BITS Goa
Nov '15

Find the résumé here