Experience

Software Engineer Intern - Summer 2017, Fall 2017

- Implemented Real Time Performance Categorization of critical ETL tasks in the data warehouse using Python Flask, JavaScript and SQLAlchemy.
- Reduced time taken to monitor tasks and identify unexpected behavior by 400%.
- Extended Apache-Airflow for inter-graph task dependency support and reduced page load time by 60% through query optimization.
- Implemented lazy loading of task dependencies using AJAX calls. Complete system worked asynchronously with a backend API.

Software Engineer - Fall 2016

- Developed a database query interface and backend using Flask (Python MVC web framework), JavaScript & SQL.
- Improved the efficiency of the tool by 70% by eliminating redundant calls to database through changing usage design of the interface
- Improved code quality by static analysis using Pylint.
- Integrated application component with the modular app using Flask BluePrint.

Software Engineer Intern (R&D) - Summer 2015

Research and Development Team

- Built a focused search engine for research journals using R (Shiny) as a part of a larger medical analysis application
- Generated search results using string matching and collected usage data by tracking clicks and search box inputs
- Built RgScholar : Open Source API to integrate Google Scholar search functionality into R applications

Software Engineer Intern (Web Apps) - Summer 2014

Projects

JengAR

JengAR is a one-player, augmented reality game in which users can interact with a pre-existing Jenga tower containing 48 blocks. Like the real life Jenga game, users are able to select a block from the base of the tower and place it on the top of the tower. The user’s goal is to avoid collision and collapse of the tower. If the block placement causes an imbalance of the Jenga structure, the program will detect this fault, resulting in the tower toppling over, and terminating the game. JengAR is designed to mimic real Jenga as closely as possible, just with different control mechanisms.View Code - GitHub

Word2Number

This is a Python module to convert number words (eg. three thousand and twenty one) to numeric digits (3021).
>>> print(w2n.word_to_num("nine hundred and ninety nine billion forty four million four thousand three hundred twenty three"))
999044004323.View Code - GitHub

GridLang

GRIDLang is a language to design games in an intuitive and expressive manner. It enables developers to quickly prototype grid-based games and get a programmatic view of it. It simplifies the process of defining rules for a game, creating a grid and manipulating them. There are in-built language components focused on game development that enables developers to express more with less lines of code.View Code - GitHub

SigmaLearn

Our application records a professors speech and converts it to text in real time. It is an efficient application that enhances note taking by providing the summarisation feature accompanied by an assist that can aid a student understand any word that he does not understand. The application also provides videos relevant to the content to enable audio visual learning. Further, we provide relevant news articles to enable one to remain abreast with the current trends. The application will not only serve as a one stop learning solution but also serve as a saviour for the differently abled.
View on Devpost

Coverage Based Fault Injection

Prototype implementation of ​Coverage Based Fault Injection (CBFI), to test programs for errors caused due to faulty or malicious underlying hardware, operating system and other related components. In this approach CBFI is implemented as a coverage based fuzzer with ​dynamically linked library that wraps around existing GNU libc calls and permutes fault injections to fail a set of libc calls and test the program robustness as well as susceptibility to vulnerabilities due to unhandled exceptions or crashes at runtime. This work is inspired and extends the previous work on fault injections.View Code - GitHub

LionMart

- Online re-seller marketplace for students built using Play MVC Framework (Java)
- It is a web application that allows users to post used items for sale and buy them by communicating through Facebook message, as well as provide price guidance for items.
- Front end built using BootStrap, JavaScript, HTML5 ; Database: MySQL
- Using Travis-CI for continuous integration and JUnit for unit testing
View Code - GitHub

- Used Twitter Streaming API to fetch tweets from the twitter hose in real-time.
- Used AWS ElasticSearch to store the tweets
- Created a web UI that allows users to search for a few keywords (via a dropdown).
- Used Heatmap (Google Maps API) to render these filtered tweets in the map
- Deployed on AWS Elastic Beanstalk in an auto-scaling environment.
- Used Kafka service to create a processing queue for the Tweets that are delivered by the Twitter Streaming API.
- Used Amazon SNS service to update the status processing on each tweet so the UI can refresh.
- Integrated Alchemy API into the Tweet processing flow to detect the sentiment of the tweet.
- Plotted tweets on a map using based on their locations and added custom markers based on their sentiment.
- Deployed on ElasticBeanstalk and EC2 instances.View Code - GitHub