Data Analytics Log Manager
Designed and implemented an application which aims to make complex analytics easy for not only programmers but also other users such as researchers, managers, designers etc. who may not have prior exposure to programming.
The application provides a lot of flexibility on the type of log data. A single log entry can contain multiple arbitrary key value pairs.
- An API for receiving log data from multiple applications and storing them in a database
- Tools to analyze this data
The analytics component is powerful as well as easy to use. It supports
The application supports authentication and authorization to help protect the data. Admin user can
- Filtering of data using arbitrary key-values pairs
- Creating a parent-child relationship (Eg. grouping the data by username and visualizing logs for various usernames as child tables)
- Adding synthetic/computed data (Eg. the number of times a user performed some action)
- Create/delete admin users
- Assign applications to users such that a user can do analytics only on assigned applications
- Extended the standard system call library of NachOS and implemented system calls pertaining to Fork, Exec, Join, Yield, Sleep and Exit
- Implemented process scheduling algorithms: UNIX Scheduling, First in First Out, Round Robin, Shortest Job First and Non-Preemptive job scheduling. Also, assessed their relative performances
- Implemented page replacement algorithms: Random Page Allocation, First in First Out, Least Recently Used(LRU) and LRU Clock. Also, evaluated their relative performances under difference scenarios
Designed and implemented a cloud based data storage service consisting of a web interface and a python client
- Web interface allows users to create/upload files and folders and share them with other registered users
- Python client provides two way synchronization where latest changes are both pulled from and pushed to the cloud
Content Aware Mail Classifier
Created a mail classifier based on bag of words model using publicly available Enron mail database
Built the main testing and classification module using python, python-nltk, scikit-learn and weka
- Studied and implemented various supervised learning algorithms like Multiclass-SVM, Naive Bayes and Random forests
- Also used basic Natural Language Processing techniques like POS-tagging and stemming
Also built a prototype for Gmail using Google App script
Customer Engagement Platform for Retailers
Used Ruby on Rails to build a platform for retailers which consists of
- A web app (optimized for tablets) to collect customer feedback and contact details
- Functionality to send Thank You SMS and Email to customers
- Different access levels from store staff to store owner
- Analytics of data collected from customers
Online Medical Store
Used Ruby on Rails to build an online medical store with fully functional Products Maintainance System, Catalog, Cart and Check Out System.
The application was hosted on AWS and heroku.
Made a web app in Yahoo HackU that:
- Analyses the mood of the person based on his/her updates on social media over a period of time
- Based on the mood of the person, it suggests music and images
We used machine learning to predict the mood of the person[happy, sad, angry, excited].
Made an Educational web app to help children master a language faster.
It randomly chooses a word from database and displays it in the form of a flash card on the screen. It allows users to record their pronunciation which is assessed using tools like Google Speech2Text API and Chromaprint library for audio fingerprinting. The user can also listen to the correct pronunciation of that word from the database directly from the web app interface.
Study of Economic Growth Rate of India
Studied basics of Microeconomics and Macroeconomics and did an analysis of economic growth rate, reasons for it's decrease in past few fiscal years and steps taken by the government to increase it.
Designed and built a frogger game. In this game, the frog had to cross 4 roads and reach the other side which would increase the score on display by 1. However, the game will get reset if the frog collided with a car. There were buttons for moving the frog up and down and to reset the game. Player could also vary the speed of the cars . For this we used various ICs like 555 , 4029 , 7447 , 4Mux , 8Mux and various logic gates etc.