Computer Science · IIT Gandhinagar

Systems that
match, route,
and hold under load.

I'm Chirag - I build things closer to the metal than most coursework asks for: a matching engine that clears orders by price and time, a shell that talks to the OS directly, models trained to explain their own mistakes.

CAGL · L2 Book LIVE SIM
Bid Size Ask Size
SPREAD 0.02 PRICE‑TIME PRIORITY
A small client-side simulation of the matching logic behind Project 01 — read how it works.
01

About

I read Computer Science at IIT Gandhinagar, after starting out in Mechanical Engineering and deciding partway through that I'd rather spend my time inside compilers and order books than CAD files.

These days most of what I build sits at the boundary between systems programming and applied ML: how a matching engine keeps a book consistent under concurrent updates, how a shell turns a line of text into a running process, how a CNN's mistakes trace back to a specific architectural choice. I like the kind of problem where you can't hand-wave the details — the code either handles the edge case or it doesn't.

Outside of coursework, I run student body elections for IIT Gandhinagar's 3,000-plus students as Election Commissioner — which turns out to be its own kind of systems problem, just with people instead of packets.

02

Selected work

Two systems projects in C++, two applied ML projects in Python. Built end to end, not templated off a tutorial.

Jun 2026
Limit Order Book Simulator
C++ STL - map, queue

A matching engine that mirrors real exchange mechanics: incoming orders are matched against resting liquidity by price-time priority, with correct handling of partial fills and live book state across multiple price levels.

Price levels are keyed on std::map, giving O(log n) access for both inserting new orders and querying book depth at scale.

Jun 2026
Unix Shell Interpreter
C++ POSIX

A working shell built on raw syscalls — fork, execvp, pipe, dup2, waitpid — supporting multi-stage piping (cmd1 | cmd2), I/O redirection (>, <), and background execution (&).

The point was never to reimplement bash — it was to stop treating process creation as a black box.

Jan – Apr 2026
Image Classification on CIFAR-10
PyTorch CNN vs. MLP

Trained a CNN and an MLP on the same 60,000-image, 10-class CIFAR-10 split and found a 31-point accuracy gap (84% vs. 53%) — then went looking for why, rather than stopping at the number.

Ablation studies plus visualised feature maps and loss curves traced the gap to specific architectural choices, and informed a dropout-regularisation fix.

Jan – Apr 2026
ML Algorithms — Implementation & Analysis
Python NumPy

A set of controlled experiments comparing Batch GD, SGD, and Mini-batch GD on convergence and stability, plus a Decision Tree (info-gain, pruning), KNN, Logistic Regression, and SVM evaluated with k-fold cross-validation.

PCA was used for dimensionality reduction and 2D visualisation, turning model comparisons into something that could actually be read off a plot.

03

Toolbox

Languages
  • Python
  • C++
  • C
  • Verilog
Data & ML
  • PyTorch
  • Scikit-learn
  • Pandas / NumPy
  • Hypothesis testing, k-fold CV
Systems
  • POSIX (fork/exec/pipe)
  • Data Structures & Algorithms
  • OOP & Algorithm Design
Tools
  • Git
  • Linux
  • Jupyter Notebook
04

Experience

Jan 2026 — Present
Election Commissioner
Student Election Commission, IIT Gandhinagar

Spearheading end-to-end Student Body Elections for 3,000+ students — nominations, campaign regulations, and result declaration — while coordinating a team of election officers.

Aug 2024 — Apr 2025
Events Executive
Blithchron, IIT Gandhinagar's Cultural Festival

Organised flagship events at IIT Gandhinagar's annual cultural festival, managing logistics, vendors, and on-ground execution for 500+ attendees.