
If you’re running scraping tasks or AI agents that need to browse the web, you don’t want to spawn a browser from scratch every time. You want an army—pre-spawned, ready, and manageable. Here’s the setup I keep coming back to.
RAM is the bottleneck. I usually go for a dedicated machine with as much memory as possible—at least 64GB. No GPU needed, just solid cores and space to breathe.
Datacenter IPs don’t cut it anymore. I use residential proxies behind a simple load balancer. Nothing fancy—just enough rotation to avoid blocks.
I spin up as many Puppeteer instances as the RAM can handle. These sit idle, headless, and waiting. Cold starts are expensive—better to keep the pool warm.
Each browser exposes a WebSocket endpoint using remote debugging. I run a small script that keeps them subscribed to a central “heartbeat,” so I know which ones are alive and which ones died silently.
On request:
Memory leaks? Don’t debug. Just destroy and replace. Works better long-term.
This setup has held up across scraping workloads, agent testing, even some UI testing setups. Clean. Reusable. Disposable.

The data centre panic in India is mostly imported, and the number at the centre of it is wrong.
Think
A ground-up map of HTTP, REST, SOAP, WSDL, XSD, GraphQL, gRPC and WebSockets: what each one is, what it sends, and how it tells you what it can do.
Engineering![Setting Up Mac for Development [May 2026]](/_next/image?url=%2Fcontent%2Fblogs%2Fmac-setup-2026.png&w=3840&q=75)
The current toolkit and the AI coding stack I'd put on a fresh Mac today. A year after my 2025 setup.
Engineering