open to opportunities · bangalore

Dhruv

I turn ideas into software.

Backend engineering, machine learning, and systems that solve real-world problems.

dhruv@portfolio:~$
╭──────────────────────────────────────╮
│ Welcome. Type help to start │
╰──────────────────────────────────────╯
14
projects worked on
268k
URLs indexed
7.3M
AIS pings processed
3
packages on PyPI
work

Things I've worked on

🛡️
systems
dvara
Malicious URL detection CLI on PyPI. Two-stage Bloom Filter pipeline ingests threat feeds from URLhaus, PhishTank, OpenPhish & Cert.pl — 268k URLs compressed into 5.14 MB with zero false negatives. Inspired by Google Safe Browsing.
268,970URLs indexed
145k/sthroughput
5.14 MBfilter size
0false pos / 100k
PythonFastAPIBloom Filter PostgreSQLRedisPyPI
systems
FluxGate
Distributed rate limiter — 4 algorithms (token bucket, sliding window log/counter, leaky bucket) enforced atomically via Redis Lua. Hot config reload, live WebSocket dashboard.
4K+ RPSload tested
~12msp50 latency
4algorithms
FastAPIRedis LuaPostgreSQL ReactWebSocket
🔭
research
Exoplanet Atmospheric Retrieval
ML-based atmospheric retrieval from exoplanet transmission spectra. Benchmarks MLP, SVR, XGBoost on the Ariel Big Data Challenge + real JWST observations of WASP-39b. XGBoost generalizes where neural models collapse. Paper under review at Scientific Reports (Springer Nature).
5target gases
JWSTvalidated against
XGBoostscikit-learnOptuna JWST data
📡
systems
lostping
AIS vessel anomaly detection — flags ships going dark, loitering, or moving erratically. Targets sanctions evasion and illegal fishing. Interactive Folium map + scored JSON report.
7.3Mpings processed
4,621vessels scored
~3 minfull pipeline
PythonIsolation ForestDBSCAN FoliumGeospatial
📻
ml / ai
AMCNetV5
Classifies radio signals into 11 modulation types from raw IQ data. Physics-informed 1D CNN with CBAM attention. Beats the IEEE WCL 2020 MCLDNN baseline at high SNR (93% vs 90%).
93.06%high-SNR accuracy
1.26Mparameters
11modulation types
PyTorchCBAM1D CNNRadioML
🕸️
ml / ai
SybilGAT
Graph Attention Network for Twitter bot detection. Core finding: GAT attention weights suppress bot→human camouflage edges — statistically proven at p < 10⁻⁴¹ via Mann-Whitney U test.
97.12%accuracy
p < 10⁻⁴¹significance
14,368users analyzed
PyTorch GeometricGATGNNExplainer
🔎
ml / ai
rag-doc-qa
Upload any PDF, ask questions in plain English. Fully offline RAG via Ollama — no cloud APIs. Custom RAGAS-style eval harness tracks retrieval quality across experiments.
LangChainChromaOllama FastAPIDocker
🛡️
research
Real-Time IDS
BiLSTM-powered network intrusion detection. Live packet capture via tshark, classifies traffic into Normal, DoS, Probe, R2L, U2R on NSL-KDD. 99.16% accuracy, 0.83% FPR.
99.16%accuracy
0.83%false positive rate
TensorFlowBiLSTMtsharkNSL-KDD
📋
dev tools
jot
Clipboard history manager for the terminal. Tracks text + images, deduplicates by content hash, background daemon, dead-simple CLI. On PyPI.
PythonSQLitePyPI clickrich
😏
dev tools
waitpal
Passive terminal companion — shows witty one-liners in your PowerShell. 1000+ original entries: fake facts, Indian observations, shower thoughts. 70% believable, 30% nonsense.
PythonPowerShellPyPI
🔬
currently building

More systems projects focused on distributed infrastructure and applied ML at scale

📚
currently learning

Deeper into graph neural networks, systems design, and anything that makes computers do interesting things

about

Who I am

I'm Dhruv, a third year Information Science student at BMS College of Engineering, Bangalore.

I build systems that turn ML ideas into production-ready tools across backend systems, probabilistic data structures, and applied ML.

My favorite kind of problem is the one where you need to understand the math and make the system fast.

When I'm bored, I write fake facts and shower thoughts for waitpal.

get in touch → résumé ↗
languages
PythonC++ JavaScriptJava C
ml / ai
PyTorch LangChainscikit-learn XGBoostPyTorch Geometric
backend
FastAPIFlask Django RESTExpress Spring Boot
infra & tools
DockerRedis PostgreSQLMongoDB ReactVite
contact

Let's
talk
I'm looking for internships and full-time roles
and interesting engineering problems.