Skip to main content
QuantLab Logo
SaaS2026·~10–14 weeks

How J5 Sales OS Became an AI-Powered Lead Engine for Niche-Vertical Sales Teams

An operator-grade lead generation and pipeline SaaS — Google Places discovery, concurrent email scraping with directory blocklists, OpenAI qualification and outreach generation, full CRM pipeline, and an analytics dashboard — so a single seller can do the work of a team.

Client: J5 Sales OS
Niche-vertical discovery via Google Places with directory blocklists
Concurrent email scraper with validation and User-Agent rotation
OpenAI lead scoring + personalized outreach generation
Full CRM pipeline, analytics, and settings in one tool

The Situation

J5 Sales OS exists to solve a problem every B2B sales team knows: finding qualified, niche-vertical leads is slow, and the generic SaaS tools (ZoomInfo, Apollo, Seamless) either don't cover the niches the team actually sells into or charge enterprise prices for what should be a focused workflow. The product brief was specific: build an operator-grade platform that combines lead discovery, enrichment, qualification, outreach generation, and pipeline tracking — and lets a single seller do the work of a team.

The Challenge

The platform had to handle several hard problems at once: lead discovery at the niche level (pulling real, contactable businesses from Google Places, not directory aggregators like Yelp or BBB), email enrichment (visiting candidate websites, scraping contact pages, and extracting valid emails while filtering out blocklisted domains and image references), AI qualification and outreach (using OpenAI to score lead quality and generate personalized first-touch outreach), pipeline management (stages from New Lead through closed/won with notes, activity tracking, and solution-category tagging), and analytics (visibility into what's working at the niche, source, and stage level).

Our Approach

QuantLab designed J5 Sales OS as a Next.js 16 application backed by Prisma and a portable SQLite/Postgres data model (libsql + Neon support), with clean separation between discovery (/api/prospect), enrichment (lib/scraper.js, lib/places.js), generation (/api/generate-outreach, OpenAI), and CRM operations (/leads, /pipeline, /outreach, /analytics). The Google Places v2 Text Search integration is purpose-built to over-fetch and filter out directory sites, leaving the seller with real business candidates that have phone numbers and actual websites. The scraper uses cheerio with timeout-bounded concurrent fetches and email validation rules to surface high-quality contact info.

What We Built

  • Lead discovery via Google Places API v2 with directory blocklist filtering (Yelp, BBB, Thumbtack, Angi, Yellowpages, etc. excluded)
  • Concurrent email scraper with semaphore-bounded fetching, User-Agent rotation, and validation rules
  • AI prospecting powered by OpenAI for qualification scoring and personalized outreach generation
  • DuckDuckGo search integration (duck-duck-scrape) for supplemental discovery
  • CRM pipeline with stages, opportunity levels, niche tagging, solutions matching, and assigned-to tracking
  • Lead records with company, contact, email, phone, website, LinkedIn/Instagram/Facebook, business category, lead source, opportunity level, notes, and JSON-encoded analysis data
  • Analytics dashboard at /analytics
  • Settings module for niches, solutions, and outreach templates
  • Embedded outreach generation so a seller can move from found to sent without leaving the app

Tech Stack

Next.js 16React 19JavaScriptPrisma 7SQLite/libsqlNeon PostgresOpenAIGoogle Places API v2cheerioduck-duck-scrapeVercel

The Outcome

Lead discovery dropped from hours per niche to minutes. Email-find rates run significantly higher than Apollo or Seamless for small-business niche verticals. Personalized outreach generation eliminated copy-paste templating, and one operator can now run the full discovery, enrichment, outreach, and pipeline workflow in a single tool — reaching prospects competitors don't even surface.

Like to know more about this project? Talk to William.

Have a similar problem? Let's talk.

Tell us what you're dealing with. We'll be honest about whether we can help.