ColabIt

Prototype of a peer to peer system that acts as a trustless marketplace for buying and selling computation resources. 'Executors' are incentivised and 'submitters' are charged. Everything happens on a browser.

E-Yantra Snakebot

E-Yantra, by IIT Bombay, is an annual robotics competition for undergraduate students. We were the national champions in 2018 for the theme 'Spotter Snake'. I programmed the Snakebot and the wireless controller.

SolveIt

'SolveIt' is a system that can solve Handwritten Mathematical equations. Equations are captured using the device camera, segmented, scanned for math symbols, parsed and then solved using a Math Engine.

SpMV

An implementation of a parallel algorithm for Sparse-Matrix-Vector-Multiplication (SpMV) in CUDA. Our novel algorithm beats the state of the art implementation in the standard cuSparse library for certain inputs.

TCP DoS Attack

A low rate DoS attack making use of TCP congestion control's Retransmission Timeout (RTO). The attacker bursts are timed to evade counter-DoS mechanisms and to hinder communication over TCP.

Online Quiz Platform

An online platform to take quizzes. Includes auto evaluation, leader board and test statistics generation. Server is written in nodejs. Database is in MySQL. Database is in Third Normal Form. Part of Database Management course work.

OS Simulator

A web app that simulates various functions of an Operating System. It is built using the Django web framework and uses Python for backend calculations. Client Side scripts are primarily written in JavaScript and uses jQuery

Grape

Grape is an event management app to instantly update information about the audience present in a class or conference without any intervention or effort from the organiser's side. An update has AR features to assist in presentations.

Ghost

Ghost is a game wherein players take turns to add letters to a growing word but shouldn't complete the word. The details of the game are here. The android app has Player vs Player and Player vs Computer modes. Uses trie to recognise completed words.

Infinite Runner

A game built using the Unity game engine. The concept of the game is based on popular games like Temple Run and Subway surfer. The input to the game is given by a Kinect Controller.

Parallelisation

Repository containing implementations of some parallel algorithms on CUDA. Algorithms include Color conversion, Matrix Multiplication, Histogramming, Convolution, Stencil-Tiling.

Image Steganography

The goal of the project was to conceal audio in an image while also trying to maintain the noise in the image to a minimum. The time of concealing and recovering was also minimised.

Mini-C Compiler

A compiler for a subset of C language. Written using lex and yacc. Results in an intermediate code which can be an input to machine language generator. Part of Compiler Design coursework.

Arduino Car

An application that can interact with an arduino using bluetooth. The applciation sends data to the Arduino calculated from the smartphone's accelerometer and gyroscope.

Automations

Automation scripts written in Python using Selenium driver. Automated the 2048 game, XKCD comics download, Wikipedia crawler, Typing Test website and Whatsapp message sending.

Publications

Discovering Related Data At Scale

Sagar Bharadwaj, Praveen Gupta, Ranjita Bhagwan, Saikat Guha
Very Large Databases (VLDB 2021)

CollabChain: Blockchain-Backed Trustless Web-Based Volunteer Computing Platform

Sagar Bharadwaj*, Samvid Dharanikota*, Adarsh Honawad*, K Chandrasekaran
Computer Information Systems and Industrial Management (CISIM 2019)

Blockchain Research and Applications: A Systematic Mapping Study

Sagar Bharadwaj*, Samvid Dharanikota*, Adarsh Honawad*, K Chandrasekaran
Springer IETE International Conference on Blockchain Technology (IC-BCT 2019)

Automated Recognition and Processing of Handwritten Mathematical Equations

Sagar Bharadwaj*, Vilas Bhat*, Arvind Sai Krishnan*
IEEE 4th International Conference for Convergence in Technology (I2CT 2018)