DHURANDHAR
"Dhurandhar" — one who bears the burden; an expert, relied on to carry the operation through. Two channels, run under your own name, on your own machine — it finds people. It never contacts one without you.
It's a discovery engine, not a spray-and-pray bot. Dhurandhar searches LinkedIn, reads the profiles worth reading, and decides who actually matches a campaign — then stops. Nothing gets connected to, messaged, or emailed without a channel you turned on and, by default, a human who looked at the first draft.
Every lead forks exactly once
A qualified profile lands in one of two lanes — decided by whether a work email resolves, not by a coin flip.
Discovery channel
A real, cookie-persisted LinkedIn session searches, scrapes, and qualifies profiles against a campaign’s target description.
- 01Search — an LLM turns the campaign brief into People-search keywords
- 02Scrape — profile + activity pulled through a stealthed browser session
- 03Qualify — scored against the campaign; relevant ones move on
Send channel
A qualified lead only forks here once a real work address resolves and a mailbox exists to send from — plain SMTP, a box the operator owns, no third-party sending platform.
- 01Resolve — a free lookup first, a paid finder second, only if needed
- 02Draft — a first-contact email written from the campaign brief
- 03Follow up — an agent reads replies over IMAP and keeps the thread moving
Three switches decide what actually runs
Every campaign starts inert. Turning one on is a deliberate act at exactly one of these three levels — nothing hides behind a fourth.
Global, permanent-by-design. Search, scrape, and qualify keep running either way — a connection request is simply never sent while this is off.
The real activate switch, per campaign. Off means fully dormant — no discovery, no email, no follow-up — regardless of anything else.
A first email waits for a human to clear the draft before it can send. Only the opener is gated — a live reply thread is followed up on its own.
Qualification runs on hardware we own
Search-keyword generation, lead qualification, and drafting run on a self-hosted Ollama model by default — local network first, a tunnelled remote host second, a paid provider only as a last-resort fallback if both are unreachable. Nothing about a candidate profile has to leave the building for the system to work.
Automating a LinkedIn account is against LinkedIn's User Agreement — that's true the moment discovery/search/scrape runs, not just if connect gets switched on, and no volume is low enough to make it sanctioned. The email channel carries its own, separate obligation: whoever configures it is the data controller for addresses it resolves, and is responsible for anti-spam compliance on anything it sends. This is a pointer, not a substitute for real legal advice — read it before you turn anything on.
Everything above, with the field names and defaults to run it
The real setup guide and engine log live on Dhurandhar's own operator site.
