I'm Tharun — final-year engineering student building job queues, fault-injection tools, and ML pipelines that hold together under load. Currently looking for backend / platform engineering roles at small, fast-moving teams.
I'm wrapping up a B.Tech in Mining Engineering at NITK Surathkal alongside a BS in Data Science at IIT Madras — an odd combination that turned out to be useful. Mining gave me a habit of trusting data over intuition when something actually breaks. Data science gave me the tools to act on it.
Most of what I build lives in the unglamorous middle of a system: queues, retries, control planes, the stuff that decides whether things quietly recover or loudly fall over. I like Go for that. I like Python when the problem is closer to a model than a server.
Outside of coursework I'm usually deep in a side project, an open-source PR, or trying to make a distributed system fail on purpose so it fails better in production.
Roughly newest first — the common thread is systems that touch real, messy data.
Modeled blast-induced ground vibration on real field data from an operational open-pit mine — built the pipeline, ran the EDA, and used learning curves to pick a model that wouldn't overfit a genuinely small dataset.
Built a forecasting system that turns streaming numbers into language embeddings and predicts what comes next using a frozen, pretrained LLM — no fine-tuning required to get useful multi-step forecasts.
Shipped a real-time anomaly detector for streaming API and IoT data that cut false positives by 35%, then deployed it on EC2 with Docker at sub-100ms latency.
A mix of backend infrastructure and applied ML — most of these started as "I wonder if I can make this not fall over."
A production-grade fault injection framework in Go — wraps gRPC, HTTP, and Kafka handlers so you can flip faults on and off live, no redeploy. Runs its own Redis pub/sub control plane and auto-rolls-back the moment Prometheus sees error rates spike.
A Redis-backed job queue built to survive crashes — atomic leasing, a reaper for jobs left behind, idempotent submission, and a dead-letter queue for the ones that just won't cooperate. Held 2,000 req/sec with sub-2ms p99 and zero failures.
Semantic code search that actually understands function and class boundaries, thanks to tree-sitter AST chunking. Two-stage retrieval — a fast FAISS bi-encoder pass, then a cross-encoder reranker — served over a CLI and a FastAPI backend.
Replaced a 40-year-old empirical formula for blast vibration with a tuned stacking ensemble, splitting predictions by direction instead of guessing one resultant number. Beat the classical baseline by 16–20% RMSE and shipped it as an interactive Streamlit tool.
A survival analysis pipeline that caught a Simpson's Paradox hiding in ICU ventilation data — naive stats said harmful, IPTW-adjustment said protective. Delivered as a dashboard with Kaplan-Meier curves and forest plots, not just a notebook.
An AI-run security orchestrator — a planner agent picks which scanner to run (Semgrep, Garak), normalizes what they find, and hands verdicts to a deterministic policy engine. Every decision is logged in a tamper-evident, hash-chained evidence lake.
Same person, four angles — pick whichever matches the role you're looking at.
Go, distributed systems, job queues, fault injection.
Download PDF →Blast design, PPV analysis, field data modeling.
Download PDF →Open to remote backend, platform, or ML infra roles — happy to jump on a call whenever works.