LinkedIn outreach automation with browser-driven scaling
A LinkedIn campaign platform powered by headless Chrome, with on-demand worker servers spun up via Vultr API, automated CAPTCHA bypass, and short-polling for live campaign status.
The brief
BigLinker runs LinkedIn outreach campaigns at scale. Every campaign hits LinkedIn’s anti-automation defenses, every account needs its own session and IP, and the cost of running idle workers between campaigns is a margin killer. We built the automation core and the elastic infrastructure under it.
What we built
- Puppeteer-driven campaign runner with realistic human-like pacing, randomized waits, and per-action retry budgets.
- CAPTCHA + PIN flow handling — automated where possible, gracefully escalated to a human-in-the-loop queue when LinkedIn requires it.
- On-demand slave servers — Laravel orchestrator spins up Vultr instances via API when campaigns start, tears them down when idle. Pay for what you use, not for what’s standing by.
- Laravel Envoyer deploys with versioned worker images so the orchestrator can roll forward / back without manual SSH.
- Short-polling status updates so campaign managers see live progress without a WebSocket layer the cost didn’t justify.
Outcome
BigLinker scaled from a handful of campaigns to dozens running in parallel — without scaling its server bill linearly. Campaign deliverability stayed high because the headless-browser strategy looks human enough to pass.
Have a project like this?
Tell us about it. We respond within one working day with a written estimate or a calendar link.