ttushar.

Full-stack developer · 2026

Leads Manager

A scraper and pipeline manager for a digital agency's outbound engine — sourcing prospects from directory listings and tracking every call through to an appointment.

Next.jsReactPlaywrightMongoDB

Context

An agency's outbound motion started with someone browsing business directories, copying phone numbers into a spreadsheet, and calling down the list. Follow-ups lived in memory.

Problem

Sourcing was manual and duplicated across the team — two people would work the same listings without knowing it. And once a call happened, there was nowhere to record the outcome, so nothing had an owner or a next step.

Solution

Two halves that share a database.

The scraper is an Express service driving Playwright through directory listings, with a set of anti-detection strategies to survive real-world scraping, writing de-duplicated records into MongoDB keyed on phone number so the same business never enters the pipeline twice.

The manager is a Next.js 15 portal on top of that data: filter by category, city, or call date; log notes against a business; mark whether a call was answered; track appointment status; colour-tag records for visual triage; and click a number to dial it. Auth is JWT over HTTP-only cookies.

Outcome

Prospect sourcing runs unattended, and every business in the pipeline carries its own call history, status, and next action.