Viraj Parimi Student

My Expertise

I am a third year undergraduate student at IIIT-Delhi pursuing B.Tech in Computer Science and Engineering. My areas of interest include applications of machine learning, complex networks, social computing and parallel programming. I am a part of the PreCog Research Group, a group of researchers who study, analyze, and build different aspects of social systems, led by Prof. Ponnurangam Kumaraguru. I am also a part of the Laboratory for Computation Social Systems, a group that works on diverse aspects of data science for social good, led by Prof. Tanmoy Chakraborty.


Fairly proficient in the above languages. Have made multiple projects using these.


Have made extensive use of D3 owning to it's superior and customizable framework.


Have made multiple projects using above tools like web apps coupled with MongoDB/MariaDB.

Featured Projects

Asphalt Retro

  • SDL
  • QuickCG

A simple game written in C++ SDL environment using QuickCG graphics library. Mimics the original Asphalt game.

Check it out

Smart Glasses

  • Open-CV
  • Tesseract
  • E-Speak

A prototype to help blind people understand text in books and also allow them to identify people they already know in order to improve their life style. It was selected to be showcased at Delhi Mini Maker Faire.

Check it out

Private Tor Network

  • Tor
  • Network Administration

Created a private Tor network and were able to demonstrate seamless talk between relays and DA. Helped to understand intricacies of Tor.

Check it out

NBDC Data Analyser

  • Django
  • PostgreSQL
  • D3.js

Working on a project of National Bomb Data Center which comes under NSG(National Security Guards) to help them analyse bomb data. It is currently installed at their headquarters.

Reinforcement Learning

  • Tensorflow
  • OpenAI Gym
  • Arcade Learning Environment

Implemented reinforcement learning algorithms and understanding how they work. Also worked on finding ways to improve how the algorithm works and improves with time.

Check it out

Github Recommender System

  • Autoencoders
  • Collaborative Filtering
  • Data Collection

Developed a recommender system similar to Amazon/Flipkart for Github where users are provided with good repositories for working on. Aim is to promote open source culture. Obtained a recall score of 0.72

Check it out


  • Processing
  • Javascript

Implemented a game using Processing. Ported it to javascript using p5js and even used OOP structure provided by JS!.

Check it out Run it


  • HCLib
  • Async-Finish Parallelism
  • cpufreq

Developed a light-weight work-stealing runtime for async-finish parallelism which was energy efficient without incurring significant impact on the performance. Used different power saving drivers in combination with cpufreq to change the CPU frequency based on some task based heuristics.

Check it out

Paging and Swapping in xv6

  • Kernel Programming
  • Interrupts and Handlers

Implemented partial paging and swapping functionality in the xv6 kernel using xv6 book and Intel developer’s manual as references.

Check it out

Parallel Depth First Search

  • CUDA
  • nvvp

Implemented a parallel version of the popular Depth First Search algorithm which is by nature non-serializable, written entirely in CUDA and showed significant performance improvement over the serial version over large graphs.

Check it out

Low Resolution Face Recognition

  • Pytorch
  • GANs
  • Triplet Loss

Used SRGAN in combination with Facenet architecture to recognize faces in the widely used LFW Dataset. SRGAN was used for super-resolution whereas the standard triplet loss function of Facenet allowed for efficient face recognition. We compared the performance of GANs with respect to the simple bicubic interpolation.

B.Tech Project

Understanding Vulnerability of Communities in Complex Networks

  • Graph Theory
  • Community Detection
  • Complex Networks

Worked on a NP-Hard problem trying to identify vulnerable nodes in a complex network. Involves communitydetection and heuristic based approach in order to meet the optimal result

Check it out