Leads Manager is two services sharing a MongoDB database. The scraper is Express driving Playwright through business directories, extracting listings for category-and-city combinations and consolidating them through the identity and priority rules into master business records. The portal is Next.js 15 with route handlers — about 16,000 lines across 92 files — where the sales team actually works: the filterable business directory, call logging, colour triage, callbacks, tasks, users and groups, and notifications, behind JWT auth over HTTP-only cookies.
The portal grew well past the original brief, and that drift was correct. Sourcing leads was never the goal; the goal was a sales process that does not lose things, and the features that accumulated — callbacks with owners, tasks with statuses, managed category lists — are what that actually takes.