I build things that scrape, automate, and reason — then ship them.
Backend and AI systems engineer based in Patiala, Punjab. Python, FastAPI, Playwright, and LLM integrations — production automation for clients who need it done, not demoed.
What I actually build with
Projects
Tagged the way I track them internally — shipped, in progress, or a deliberate learning rep.
A browser automation agent: FastAPI backend, Playwright driving the browser, Gemini 2.0 Flash for decisions, WebSocket UI for live control. Diagnosed and fixed an LLM tool-call looping bug by building structured call logging, added a Groq fallback chain and DOM pruning to cut token cost.
Client pipeline pulling 35 million profile URLs from a login-gated site. Playwright workers distributed across a Redis-backed queue, residential proxy rotation, built to a 14–30 day delivery window.
Published Indian holiday planner app. Department-wise calendars, long-weekend detection, and leave planning across central, state, bank, PSU, and school holiday categories. Holiday data hand-collected for all 32 Indian states and union territories.
Voice-based rapid-fire word game supporting English, Hindi, and Punjabi. Speech capture on-device, answer validation through the Claude API, multiplayer sync layer for live matches.
Android utility that reads incoming caller numbers via a notification listener service and opens WhatsApp messaging without needing to save the contact first. Monetized with AdMob and a one-time unlock.
What I'm heads-down on
No filler, no half-shipped demos
Ship in small, confirmed steps
Every project moves in small verifiable increments, each one confirmed before the next starts. Nothing gets called done until it actually runs.
Log the debugging, not just the result
Structured logs over guesswork — if an agent loops or a scraper stalls, the fix comes from reading the trace, not restarting and hoping.
Build for the failure case first
Provider fallback chains, proxy rotation, retry logic — production systems get designed around what breaks, not just the happy path.
Direct communication
Status updates say what's actually true. No padding, no filler — just what shipped, what's blocked, and what's next.