Projects
Before Amazon: four years at IIT Kanpur.
B.Tech in Computer Science and Engineering, 2012 to 2016 — course and research projects, a summer on the campus surveillance cameras, a startup I co-founded, and the internship that led to ten years at Amazon.
- Jan–Apr 2016Machine learning
Object detection and classification in surveillance video
A course project in a team of five: separated moving objects from the background by frame differencing, cut them out of each video, and trained multiclass classifiers on HOG features — SVM, decision trees, random forests, AdaBoost and k-NN — to tell autos, rickshaws, cars, bicycles, motorcycles, pedestrians and number plates apart.
- Mar–Apr 2016Systems
A Docker deployer
Deploys any server code from a configuration — MongoDB as a single node, a replica set or shards — behind a load balancer whose servers can be added or terminated at runtime from the UI.
- Aug–Nov 2015Distributed systems
Skyline queries on MapReduce
Adapted the BNL, SFS and bitmap skyline algorithms to MapReduce and benchmarked them on a Hadoop cluster with three physical worker nodes, partitioning by angle rather than by grid so every mapper gets some skyline points.
- May–Jul 2015Internship · Amazon, Bengaluru
A catalogue builder for sellers
On a seller-facing team: a tool that turned raw product data into a validated catalogue feed, with errors shown in the UI and guidance for every attribute.
- Aug–Nov 2014Graphics
3-D Tetris
Tetris with a third dimension, in C++ with OpenGL and OpenAL — texture-mapped blocks, ambient lighting and particle effects, sound, and a heads-up display with the score and the next block.
- May–Nov 2014Computer vision · summer research
Number plates on the campus cameras
Found the number plates on moving vehicles in the institute’s surveillance feed. A real-time adaptive Gaussian-mixture background model, with shadow detection, threw away empty frames — run on the open-source BGSLibrary; Viola–Jones classified the vehicles; morphological operations isolated plate regions as the first step towards OCR — tuned to hold up through changes in light and weather.
- May–Jul 2014Startup · co-founder
jutja.com
Co-founded a project-management site that laid tasks out as mind maps, and built its front end — a single-page interface, with the mind-map visualisation in JavaScript on VivaGraph.
- Jan–Apr 2014Compilers
A Java-to-MIPS compiler
A cross-compiler written in Python by a team of three: a lexer, a parser that emits parse trees for Graphviz, three-address code generated from semantic rules on the grammar, and a MIPS back end with register allocation and runtime library support.
Compiler-Assignment-1Compiler-Assignment-2Compiler-Assignment-3-and-4
- May–Jul 2013Machine learning · Programming Club
A content-based email classifier
Sorted the public Enron corpus into categories with a bag-of-words model — multiclass SVM, naive Bayes and random forests, with POS tagging and stemming — in Python with NLTK, scikit-learn and Weka, plus a Gmail prototype in Apps Script. Up to 80% accuracy on balanced sets.
- Jan–Mar 2013Algorithms
Planar graph visualisation
Graph-drawing heuristics for planar graphs, and ways of minimising edge crossings for different kinds of data.
- Jul–Oct 2012First-semester project
Hexxagon
The hexagonal board game in Python and pygame, for two players or against an AI with easy and hard levels.
Operating systems on Nachos, graph algorithms — max-flow, bipartite matching, minimum spanning trees — databases, software architecture and machine-learning assignments are on GitHub too. All repositories →