Hi, I'm Bhavdeep Arora

locationToronto, ON
date
time
weather

I'm a systems focused software engineer based in Toronto. I've been programming for over six years, always chasing whatever problem catches my interest.

My interests span low-level systems, security tooling, applied ML, and distributed systems, with a quiet passion for environmental engineering. Distributed systems and machine learning is where most of my curiosity lives.

Outside of programming, I love learning new things, reading books, and exploring outside! Here's what I'm currently up to:

Selected Works

Thunderhead screenshots1 / 4
Thunderhead — Thunderhead Overview
Thunderhead — Thunderhead Scoring
Thunderhead — Thunderhead Config
Thunderhead — Thunderhead Features

Thunderhead

A lightweight reverse proxy that scores the intent of incoming HTTP requests to detect and mitigate bot traffic — without relying on Cloudflare or third-party services.

Go
Next.js
TypeScript
Redis
JavaScript
Nginx
  • Passive behavioral scoring engine, no JS challenges or CAPTCHAs
  • Scores requests 0-100 across signals: robots.txt violations, path crawling, request rate, suspicious headers, and content patterns
  • Graduated responses: allow (< 40), tarpit with configurable delay (≥ 40), or block 403 (≥ 75)
  • Structured JSON logging for all proxy decisions
  • IP, CIDR, and user-agent allowlist support
  • Config-driven: listen address, upstream URL, thresholds, and tarpit delay all configurable