OpenSource: Indian Voting Assistant (date: 9 May 2021)
I have started a free open-source project called Indian Voting Assitant on Github. The objective of this project is to make it easier for the Indian people to vote responsibly. Currently, voting responsibility is an extremely arduous endevour. Most people either cast their vote after getting influenced by other people around them, propaganda or media, or they skip voting altogether. Only a few privileged and sincere people are capable enough to perform the essential homework in order to know who to vote for. This project is aimed at providing self-submitted public information about the candidate to the voter in a format that is accessible and lucid for the end voter. For example, the resume (past education, achievements and positions), the criminal records, political party affiliations as well as the election manifesto of the candidate is the minimum amount of information that any voter should be aware of before voting for their representative. Whereas, a large majority of the voters don't even know the name of their representative before appearing for the election. I appeal any Indian programmer looking at this, to go through the source code and provide their inputs for the same.
Markov Models based decision support system for logistics workflow (Feb'18-Sep'18)
Looking into the work-flow of the deliveries of the drug Xyrem of Jazz Pharmaceuticals, we, at Fresh Gravity, proposed a markov-chain based decision support system because of the presence of the various states and differing probabilities of their transition. There are well-defined recurrent and transient states in their work-flow, which increased our confidence about the aptness of the markov-chain based model. We were able to build a model which could raise spikes whenever there were anomalies. Running it on past data, the model showed spikes related to every significant historical point with known anomaly, as well as pointed out to some which were not previously recognised. As a future step, we also explored the possibility of using more sophisticated algorithms for predicting and analysing order workflows and to get useful insights from them using XAI (Explanable Artificial Intelligence) algorithms like LIME.
Natural Language Interfaces for Databases (Nov'17-Mar'18)
Using the power of Elastic Search's
full-text search engine and the open-source code of the LN2SQL, we have created a stronger
English-interface to most databases (most databases accept queries in Standard Query Language). We are
able to achieve as high as 77% precision@10 scores on our predictions of the column and table name in
the select clause on the WikiSQL dataset.
We have exposed an JSON API end-point for this solution. Once the data is indexed in the Elastic Search
engine of the server, any user can ask questions based on that database using just an HTTP request.
There are on-going enhancements in the algorithm using word-net based synonym-sets. We are also planning
to improve the sentence parsing using meaning representation parsing (this never happened).
Functional Programming in Scala (Jun'16-Sep'16)
Following my desire to learn more of scala to start doing my implementations in the same, I have started doing EPFL's course offered on Coursera. This has a good pace and I am very happily revising the concepts learnt in the Principles of Programming Languages (CS350A) course at IIT Kanpur.
Visual Search at VisageMap (May'16-Jun'16)
As a part of an internship, along side Ayush Mittal and Unnat Jain, working on getting an optimal algorithm for visual search.
Exploration of Motion Manifold of an Articulated Arm (Aug'15-Nov'15)
Extracted the motion manifold using visual data, generated by capturing images from vision sensors in a 3D simulation, for a 3-dof articulated arm, while extending a project on visual motion planning of multiple robots from 2D to 3D. Used ISOMAP for visualizing the image manifold, and resolved the reasons for its deviation from the ideal motion manifold.
Course Helper (Mar'16-Apr'16)
Created a software solution, consisting of android and web interfaces, for choosing appropriate courses at IIT Kanpur. It shows statistics about how many credits (of each type) does the student still have to complete and recommends courses for the following semester based on the student's department, program and previously completed courses. The course suggestions also took into account the preferences of the student by analysing the courses taken by other students who have previously taken similar courses. This project was done with Himanshu Choudhary under Prof. T.V. Prabhakar (CSE, IIT Kanpur)
Texture Recognition and Synthesis using B-CNN (Mar'16-Apr'16)
Implemented the algorithm described by a paper by Subhransu Maji which used Bilinear Convolutional Neural Networks to extract orderless representation of images which were used to recognize textures and manipulate other images. Image manipulation involved an optimization step, which used the L-BFGS algorithm according to the paper, but we wrote an ad-hoc gradient descent variant which ran faster on our system. This project was done in a group of 3 under Prof. Vinay Namboodiri (CSE, IIT Kanpur)
Bayesian Non-Exhaustive Online Learning (Feb'16-Apr'16)
Studied and reviewed Bayesian learning and novelty detection algorithms which worked on non-exhaustive data-sets using Dirichlet Process Prior and Sequential Important Re-sampling. This project was done in a team of 3 under Prof. Piyush Rai (CSE, IIT Kanpur)
Scalable Vocabulary Tree (Feb'16)
Implemented an instance recognition algorithm which used a vocabulary tree (hierarchical k-means clustering) over the SIFT features of the candidate images to create a TF-IDF scoring, in a group of 2 under Prof. Vinay Namboodiri (CSE, IIT Kanpur)
Meaning Representation Parsing (Oct'15-Nov'15)
Generated the AMR (Abstract Meaning Representation) for English sentences, after improving over the baseline provided by the organisers of Task 8, SemEval 2016, by better "focus" identification using an LSTM neural network, in a team of 2 under Prof. Amitabha Mukerjee (CSE, IIT Kanpur)
Demand Predictor for Renting Bikes (Jan'15-Apr'15)
Experimented with regression and classification models in R for predicting the bike renting
demand, according to the problem statement on
Kaggle, in a group of 4 under Prof. Harish Karnick (CSE, IIT Kanpur).
Implementation
included: ♦ Feature selection ♦ 3-component mixture model ♦ SVM ♦ Poisson
Regression ♦ K-nearest neighbours ♦ Random Forest ♦ Gradient Boosted Regression and
Classification Trees
Perl to X86 Cross-Compiler on Python (Jan'15-Apr'15)
Generated an cross-compiler of Perl scripting language to x86 assembly language in Python, using Lex and Yacc tools of PLY python library, in a team of 3 (synchronized on GitHub under Prof. Subhajit Roy (CSE, IIT Kanpur)
Course Management System (Oct'14-Nov'14)
Developed a secure course management website for academic institutions for conducting live quizzes & assignments with automatic grade evaluation, in a team of 6 under Prof. Arnab Bhattacharya (CSE, IIT Kanpur)
Car Simulator Game C++ using OpenGL (Aug'14-Nov'14)
Created a car simulator in using OpenGL library in C++, under Prof. Vinay Namboodiri (CSE, IIT Kanpur). Implemented features include imported .3ds objects, Blinn-Phong lighting, textures, camera navigation & HUD
DOM-Judge for Online Programming Contest (Jan'13-Mar'13)
Made an online programming contest website, under ACA (Association of Computing Activities), CSE, IIT Kanpur. Added certain features to the website like making a portal for queries with the judge, enhancing the presentation of the webpage, adding a clock and to synchronize it according to user position, etc.