The archive
Things I built, tried, and kept around.
-
Before Github.
2012β2018
Websites, tools, unfinished games
When I was twelve, a friend showed me my name scrolling across a browser using the `<marquee>` tag. It amazed me that I could make the browser show whatever I wanted.
School and entrance-exam prep took up most of my time, but I spent whatever was left making things with friends: websites, painting tools, and games. We always imagined someone using them. Mostly, nobody did.
Somewhere along the way, my school selected me as one of ten students for a trip to Singapore. Iβm still grateful for that. My friends still ask, βWhat school does that?β Hahaha.
-
Voice-controlled chess
2018
Say a move. Board responds.
A Python course ended with tic-tac-toe and blackjack. I wanted something with enough logic that I couldn't hold the whole thing in my head at once. Chess seemed like a good idea. Then I decided I should be able to say a move out loud and watch the board respond.
It became the first thing I ever pushed to GitHub. I still play occasionally, around 2000 on Lichess.
Repository ↗ -
8Γ8 LED matrix hex generator
2018
Draw pixels, get Arduino hex
Someone from the electronics department had the hardware and was missing a small piece of software. I told him I could make it in a day. And I did.
We swapped rooms the next semester.
Seven years later, we started Faradworks together.
Repository ↗ -
WitnessHarmony
2019
Turn songs into game levels
I wanted a game whose levels came from the music itself. So I pulled beats out of a song, turned them into timestamps and packaged the whole thing as a Windows executable.
Then I wrote a nine-step manual explaining how to use it.
That manual may be the earliest thing I still have where I was clearly imagining a stranger trying to use what I made.
Repository ↗ -
Koch islands
2019
Grow shapes from simple rules
Exploring bio-inspired simulation.
Just rewriting rules, a little turtle walking them, and strange, beautiful islands appearing on the screen.
Repository ↗ -
Agents crossing a 2D map
2019
Tiles that hurt, slow, or block
I had seen Atari games being played by a single agent and wanted to try it myself. So: tiles that behaved differently. Fire took health, ice took time, mountains blocked the way entirely.
I got as far as a 4Γ4 map and a table of state values. The agent found a short route to the goal, but didnβt care enough about walking through fire. Getting somewhere quickly and getting there safely were two different things to teach it.
Repository ↗ -
Personal Genie
2019
A few questions to find your next gadget
Could a few questions capture someone's preferences as a vector, then match it against TVs, phones and laptops? That was the idea behind Personal Genie. I later learned about content-based and collaborative filtering. Turns out I had wandered into recommender systems.
Built for a hackathon at SRM, which meant flying to Chennai for the final round. We finished in the top ten.
Repository ↗ -
Mentify
2019
Mental health chatbot
Built a mental-health app over a weekend at HackCBS hackathon, with activities, an analysis screen and a chatbot. I was learning Flutter because mobile dev was hot back then.
We spent the night sitting in corridors. That turned out to be my last overnight hackathon.
Repository ↗ -
TensorRT Swish plugin
2019
Custom C++ plugin, ~3Γ faster LeNet-5 inference
An NVIDIA bootcamp gave us 45 days to build a native TensorRT plugin. My teammate and I spent half of them solving the wrong problem, until a session with NVIDIA engineers cleared things up. I must have read the developer guide fifteen times. We wrote a Swish plugin in C++ and measured roughly 3Γ faster inference on LeNet-5.
We came first. There were two teams.
Repository ↗ -
DeepConnect
2019β2022
You teach, you learn
I love teaching. At the end of 2019, LeadingIndia.AI appointed me to mentor four winter interns on food recognition. We worked with Mask R-CNN, with sessions on convolutions and loss functions along the way. Two months later, they presented their work to an evaluation panel.
We launched DeepConnect in the second half of 2020, the same semester I was a teaching assistant. The motto was 'you teach, you learn'. We ran teaching sessions and put the videos on YouTube. Then internships took us in different directions.
In 2022, I tutored Python for a few months. One client was in Singapore, so some sessions meant getting up at 3 a.m.
The sessions ↗The poster ↗The community ↗ -
Face recognition for attendance
2019, 2022, 2024
Three projects, three Python frameworks
Face recognition kept finding its way back to me. In 2019, I built a Flask app with a teammate while barely knowing Flask or databases. In 2022, I fixed a client's Django API. In 2024, I built and deployed a secured FastAPI service for a client.
Somehow, that added up to three Python web frameworks and three face-recognition libraries. None of it was planned.
Flask project (2019) ↗ -
BEL detection and tracking
2020
Restricted-area surveillance with RGB and infrared
A project from Bharat Electronics Limited through Bennett University, under Dr. Vipul Kumar Mishra. We tried YOLOv4 and YOLOv5 for detection, with DeepSORT for tracking, using RGB footage by day and infrared by night. Training eventually moved to a remote DGX system after we couldn't get GPU quota on Google Cloud.
Our detector could spot someone partly hidden behind cover and miss someone standing right in front of it. We revised the dataset several times, varying backgrounds and lighting, until it handled both.
-
Skill Sight
2020
What next to learn, and who else is learning it
Bennett was paying for everyone's Coursera courses, so we built a way to see what friends were learning and find someone taking the same course to build something with. We also gathered campus tech events scattered across WhatsApp groups into one place.
We launched at skillsight.in (the domain belongs to somebody else now), university email addresses only, with course tracks, progress and chat.
We never figured out how to keep the course catalogue updated across different platforms, or why a student would pay for it.
Repository ↗ -
CTR optimization
2020
Choosing ad audiences from past campaign logs
A project for Times Internet under Dr. Gaurav Singhal's guidance: could we choose better audiences for ads using only past campaign logs? We used counterfactual bandits to learn a targeting policy, estimating what a different choice might have earned.
Of 6.8 million rows, only 6,696 recorded ads actually being shown. With so little usable data, we generated combinations from those rows to create 343,000 trajectories. The reward model fit the training data well but failed on the held-out month. It seemed to be learning our generated combinations rather than anything that carried over to real data.
-
Crop radiation prediction
2020
Net radiation, from solar radiation and canopy temperature
Under the guidance of Dr. Gaurav Singhal, I built the training pipeline: regression splines, gradient boosting and a small neural network, all driven by one config file.
The work was published in the International Journal of Biometeorology. My first peer-reviewed paper.
The paper ↗ -
Industrial PPE detection
2021
Detecting missing safety gear (helmets, vests, gloves, glasses) in camera feeds
At Datakalp, I worked on PPE detection under Dr. Kalpit Desai's guidance. Helmet data was available. For safety vests, gloves and glasses, we ended up hunting through Getty Images and other sites.
Different sites had different safety rules, so the pipeline had to support different combinations of PPE checks. I worked through data collection, modelling and GStreamer pipelines to get it running.
Internship write-up ↗ -
Video annotation tool
2021
Marking the nine steps of handwashing
I spent about fifteen to twenty days building a web-based video annotation tool at Datakalp. The team used it to mark the nine steps of handwashing in footage.
-
Dealer EOS map
2022
Dealer response times and performance, mapped across India
At VECV, I built an interactive map showing dealer performance across India, including how often they reached breakdowns on time within their zones. It went out monthly to the head office and regional centres.
I built the mapping interface using Folium with custom Leaflet plugins for specialized markers, since the standard map markers didn't support what we needed.
-
Vehicle application analytics
2022
Analysing truck behaviour and costs on specific routes
At VECV, I combined CAN logs from BS4 and BS6 trucks with gearbox tables and chassis records to analyse driving patterns, fuel consumption and mileage on specific routes. I built a Streamlit app around it, which sales teams used in customer presentations and Product Development used to understand vehicle behaviour.
-
Job-card analyser
2022
Checking vehicle alerts against workshop findings
At VECV, we needed to check whether vehicle alerts matched what technicians actually found in the workshop. I built an NLP pipeline to compare workshop notes with alerts, bringing the analysis down from 3β5 days to about ten minutes.
Letter of appreciation ↗ -
Tri-colour palette
2022
One colour in, five out
I was choosing colours for data visualizations and built a little tool to help.
Try it ↗ -
Bagmodels
2022
A Python library for ranking documents against a query
A small library of bag-of-words retrieval algorithms. I wrote my own Python implementation and put it on PyPI as bagmodels. I checked recently and was surprised it was still getting downloads four years later.
PyPI ↗ -
Speech to emotion
2022
An animated face that reacts to your voice
I trained a speech classifier on RAVDESS to recognise eight emotions, then connected it to an animated face. It updates every half-second as you speak.
Repository ↗ -
WonderMirror
2022
3D virtual try-on
I never liked trying on clothes. My teammate and I worked on a way to try them on a 3D version of yourself instead, using body reconstruction and virtual garment fitting.
It was our final-year project, but I thought there was a company in it. I skipped campus placements because I wanted to build my own thing.
We eventually stopped. The garment-fitting methods we needed were still at the research stage, and most of the useful 3D datasets we found were proprietary.
-
Keystroke anomaly detection
2022
Can typing patterns reveal an intruder?
A client wanted to know whether typing patterns could reveal that someone else was using an account. I explored it using reinforcement learning.
-
Optimus
2022 β 2024
Planning and scheduling for pharma plants
At Ripik, I started building Optimus for Sun Pharma from the ground up. Over the next year and a half, I worked closely with planners and plant teams to encode how pharma production actually runs: recipes, multi-level BOMs, machines, rooms, campaign rules, changeovers, cleaning, material dependencies, and hundreds of smaller constraints.
It became one of the most complex systems I have built. We compared it directly against SAP PP/DS, and Optimus could schedule the plant at a level of precision the standard planning systems simply could not reach. The underlying engine was also written generically enough to extend beyond pharma to FMCG, construction, project planning, and other constraint-heavy operations.
The write-up → -
BurdenMix
2023
Blending ore against a chemistry window
Two of our clients at Ripik, IMFA and ESL (Vedanta), needed their ferro-alloy ore blends to land inside a chemistry window on every run: iron content and gangue content were both bounded and non-negotiable, using whichever suppliers and stockpiles happened to be available that day.
-
AdvanceMix
2024
Planning ore from shipment to production
Another product I made in Ripik. It took the blend problem beyond deciding today's recipe. Incoming shipments, quality grades, inventory, production demand, future campaigns, and the downtime caused by material availability all had to be planned together.
We used a mix of custom heuristics, MILP, and genetic algorithms to balance those competing realities over time: serve demand, preserve quality, use inventory intelligently, and keep the plant running with as little downtime as possible.
-
MyGSTConsultant
2024
Automating the messy parts of GST
I saw my father working through a GST calculation in Excel and thought it looked like a ten-minute scripting job. Then he explained all the rules and edge cases hiding underneath it. I built the first calculator in a day, and we have kept adding tools occasionally.
Website ↗ -
Kaggle: problematic internet use
2024
A Kaggle submission built like a research pipeline
For the Child Mind Institute competition, I ended up building much more than a submission: Metaflow pipelines, Hydra configs, CLI-driven training and tuning, experiment logging, and notes on what each change actually did. The repo became a small experimentation system of its own.
Repository ↗ -
Turing
2024 β 2025
A year inside the data behind LLMs
After Ripik, I moved to Turing and spent about a year creating and reviewing SFT/RLHF data for large language models. A lot of it was around implicit code execution: coding tasks for data and ML analytics, document generation, model-trajectory comparisons, and classifying behavioural logs against detailed rubrics.
It was probably the most repetitive work I have done, but also the first time I spent months looking at model behaviour one example at a time. That eventually pulled me towards evaluation, agents, and AI safety.
-
Faradworks
2025
AI agents reviewing hardware designs
Seven years after we first built that little LED-matrix tool together, Siddharth and I started Faradworks. We were trying to automate a particularly painful part of hardware design: checking a schematic against hundreds of pages of datasheets, reference designs, and engineering constraints.
It was also my first real education in startups: fundraising, visas, customers, TAMs and SAMs, positioning, and an impressive amount of advice about how companies are supposed to be built. I came out of it believing much less in playbooks. There are useful principles, but mostly you do what works.
Pinscope ↗ -
Kanban calendar
2026
Kanban cards constrained by calendar blocks
A desktop planner - your own Trello. Electron and React, with everything stored locally.
I did not read a single line of the code. It was the first thing I built entirely by asking for it.
I do not use it any more.
Repository ↗