Index · 36 projects
Projects
36 things I have built or taken apart. Each page says what I did, what it measured, and what did not work.
- 012026
mldsa-auth
Post-quantum mutual authentication and session protocol in C11, with a login daemon on top.
- 02in progress
Atlas
C++23 engine for map-based strategy games with a deterministic lockstep simulation and sandboxed WebAssembly mods.
- 032026
LFP2Vec audit
Reproduction of LFP2Vec (NeurIPS 2025) on public Neuropixels data, a preprocessing fix for its cross-lab failure, and two measurements the paper does not make.
- 042026
EEG dementia re-evaluation
Honest, subject-level re-evaluation of a course project that classified Alzheimer's, frontotemporal dementia and healthy controls from EEG: about 60% balanced accuracy, and no deep model beats spectral features.
- 052026
doom-ports
DOOMCE and TRENCHFIRE: one from-scratch raycaster for a TI-84 Plus CE calculator and a Garmin Venu X1 watch.
- 062026
TideFit
Security audit, Next 14 to 16 upgrade and production launch of a roommate's Next.js trip planner.
- 072026
ForgeLog
Offline Android gym tracker with no accounts and no network permission.
- 082026
Custodian
Household inventory that watches CPSC, NHTSA and FDA recalls, served as an MCP server with its own OAuth 2.1 server for Alexa+ and Claude.
- 09in progress
Gemma 4 SWE agent
Solo Kaggle SWE-agent entry, built on a re-implementation of the organizers' unreleased evaluation harness.
- 102026
Biohub cell tracking
Kaggle cell-tracking competition entry on free GPU, final rank 591 of 3,947 teams (top 15%), built on an offline post-processing harness and a 3D CNN that prunes false cell divisions.
- 11in progress
TrafficFlowBench
Kaggle freeway traffic benchmark, public leaderboard 0.889 against a 0.553 baseline, final ranking pending.
- 122026
Kaggle S6E9, EV purchases
Kaggle Playground S6E9, final rank 287 of 3,575 teams (top 9%), with a 192-experiment ledger and a label-noise ceiling analysis.
- 132026
Blockwave
A falling-block game with no asset files, and an RL agent that learns to play without ever seeing the score.
- 14in progress
gtnh-agent
Safety-first agent that plays the Minecraft modpack GregTech: New Horizons on a private server: a local model decides and plans, and code checks every action before it runs and verifies it after.
- 152026
Split/Second PC fixes
Wireless Xbox controllers, Xbox button names and 60 FPS for a 2010 PC racing game, by proxying its DirectInput and patching it in memory.
- 162026
ephys-mcp
MCP server for read-only analysis of spike-level brain-computer-interface recordings.
- 17Hackathon entry, result pending
Ledger
Revenue-forecast agent with receipts, built for Block Convey's Money Talks 2 hackathon: every number and buyer quote is checked in code before a finance team sees it.
- 182026
NYC AutoDDG
PySpark profiler and local-LLM description generator for NYC Open Data, with benchmarks of where Spark beats pandas.
- 19not public
trading-agent
Cost-aware trading research harness and paper-trading runner for a $100 Alpaca ETF account, where no model has yet earned promotion over the baseline.
- 202026
GridSentry
Post-hackathon audit, fixes, test suite and CI for Utkarsh Mittal's NEPA environmental permit agent (FastAPI and Next.js).
- 212026
Econometrics re-analysis
Re-analysis of my 2023 econometrics team project on crop yields and infant deaths across 673 Indian districts: the original headline effects were artifacts of the crop-index construction and of iid standard errors.
- 222026
Hawk signature study
Report, talk and a working keygen, sign and verify demo of Hawk, the lattice signature scheme withdrawn from NIST standardization in July 2026.
- 232025
One-time-pad allocation
Wait-free one-time-pad allocation for m broadcasting parties, with a proof of no reuse and an exact waste bound that does not grow with the pool.
- 24in progress
garmin-connect-api
Typed Python library, local HTTP service and MCP server that read and write Garmin Connect, including uploads of completed strength sessions.
- 25not public
localagent
Local-only LLM agent with image generation, QLoRA fine-tuning and a story-to-comic pipeline, split across a Mac and a Windows GPU laptop.
- 262026
OW2 Career Tracker
Personal Overwatch 2 dashboard that snapshots my public career profile every three hours and charts every hero's stats over time.
- 272026
Non-stationary bandits
Five bandit algorithms for changing environments, benchmarked on one interface with regret split into decisions and mandatory probing.
- 282024
map-reducer
MapReduce from scratch in Python over gRPC, running K-Means across separate master, mapper and reducer processes, with two kinds of worker failure handled.
- 292025
Library Loans Explorer
Flask front end over a relational library database: a member's full loan history and live copy availability by branch, on PostgreSQL or SQLite.
- 302022
Snakes and Ladders as a Markov chain
Exact game length of Snakes and Ladders from the fundamental matrix, checked against a dice simulation and 47 tests.
- 312024
Subgradient descent with momentum
Stochastic subgradient descent, with and without heavy-ball momentum, as PyTorch optimizers on LASSO and a ReLU network, checked against scikit-learn.
- 32Maintained 2026
Raft with leader leases
Raft consensus key-value store with leader leases in Python and gRPC, from a distributed systems course; my part was the leader lease, and in 2026 I fixed six bugs and got it running on current gRPC.
- 332021
Assembler and Simulator
Assembler and cycle-by-cycle simulator for a 16-bit teaching ISA, a three-person Computer Organization assignment at IIIT Delhi in which I wrote the simulator.
- 342022
Customer attrition
Four-person IIIT Delhi machine learning course project comparing eight classifiers for telecom churn, and why its reported accuracy does not hold up.
- 352026
Telecom churn
Nine scikit-learn churn models with tuned thresholds behind a Streamlit app, with tests and CI added to a forked college project.
- 362025
InfoViz
Streamlit dashboard of US leading causes of death, 1999 to 2017, from the CDC/NCHS dataset.