All posts
Projects
How ytranscript works: reverse-engineering YouTube captionsHow ytranscript pulls YouTube captions using the internal Innertube API: no browser, no API keys, just curl and a simple JSON parser.
5 min readyoutubereverse-engineeringBackend and infrastructure
30-45 min manual to 3 min automated
My CI/CD pipeline: Husky hooks, GitHub Actions, Trivy and VercelGit push to production in about 11 minutes: Husky checks, tests on Node 18, 20 and 22, Trivy blocking CRITICAL and HIGH, Claude PR review, then a Vercel deploy.
AI tooling
MCP and code execution are moving software from menus to intentAnthropic reports a 98.7% token cut when agents call MCP tools through code. What that means for menu-driven GUIs, and where MCP agents still fall short.
AI tooling
AI is industrializing code, so in 2026 I'm betting on fundamentalsWhat I hand to AI coding agents, what I still do by hand, and the fundamentals I'm studying in 2026: PostgreSQL internals, Rust and observability.
7 min readsoftware-developmentaiBrowser automation
Puppeteer in production: fallback selectors, real waits, clean exitsA Facebook class rename stopped 100+ accounts from posting. The fix: ARIA selectors, real waits, finally cleanup, a lock per account and screenshots on error.
16 min readpuppeteerbrowser-automationAI tooling
Factory Droid on GLM-4.7 and MiniMax M2.1 for cheaper AI codingGLM-4.7 at $3 a month became my daily coding model in Factory Droid, with Claude Pro kept for architecture work. Setup, config and my ~$25 monthly total.
Browser automation
LangGraph browser agents on Puppeteer: prune the DOM, then actA LangGraph agent that drives Puppeteer over CDP: prune the DOM before the model sees it, fill forms in one batched action, and fall back when a selector breaks.
Projects
BanglaABC123: a number matching game I built for my kidsMy kids had exams on numbers in English and Bengali, so I built a small matching game: tap a card, hear the number, find its pair in the other script. No ads, no accounts.
Projects
Memory Booster: a 2016 MobX game I built to avoid WebRTCIn November 2016 I skipped a WebRTC task and built a grid memory game with React 15, MobX decorators and Jest snapshots. Reading it ten years later, here is what held up.
Browser automation
Driving Multilogin browser profiles with Puppeteer and a LangGraph agentConnect Puppeteer to Multilogin profiles over CDP and drive them with a LangGraph agent at about $0.02 a task on GPT-4o-mini, with fingerprint checks and clean teardown.
17 min readmultiloginpuppeteer