Humberto GuadalupeAlonso López

Case Study · B2B Lead Generation Platform

NeoProspector

A lead intelligence platform that turns niche and location-based searches into structured prospect databases.

Role

UI/UX Design, Full-Stack Development & Data Automation

Year

2026

Industry

Lead Generation / Sales Intelligence

Client

Personal Demo Project

NeoProspector

01 · Overview

Project Context

NeoProspector is a personal demo project designed to automate B2B lead discovery, import, organization, and analysis. The platform allows users to search for businesses by niche and location, collect commercial data through Apify, import external lead databases from CSV files, store prospects in PostgreSQL, and review key metrics from a private dashboard.

02 · Taxonomies

Stack & Classification

Technologies

TypeScriptDokployPrismaPostgreSQLNext.jsApifyData ProcessingREST API

Categories

Lead GenerationBusiness Platform

03 · Problem

The Core Challenge

Manual local business prospecting is time-consuming. Searching for companies one by one, copying phone numbers, reviewing websites, validating reviews, analyzing ratings, and organizing everything into spreadsheets can quickly become repetitive, slow, and difficult to scale for agencies, sales teams, or businesses that need to generate prospect lists consistently.

04 · Solution

System Design Response

I designed and developed a full-stack lead generation platform that automates business discovery based on niche and geographic location. Users can enter a business category, such as dental clinics, real estate agencies, gyms, or restaurants, along with a target city or zone. The system geocodes the location using OpenStreetMap Nominatim, runs an Apify actor to collect Google Maps business data, processes the response, normalizes the information, and stores it as a lead database that can be reviewed from the dashboard. The platform also supports CSV imports using PapaParse, flexible column mapping into the lead model, and centralized management of external databases inside the same system.

05 · Architecture

Engineering & Infrastructure

NeoProspector uses a full-stack architecture based on Next.js 15, where the dashboard, API routes, authentication, scraping workflows, CSV import, and database persistence live inside a single application. The platform runs on Dokploy using Docker-based infrastructure, with Traefik handling reverse proxy and SSL certificates through Let's Encrypt. The application connects to a persistent PostgreSQL 16 database using Prisma 7 and the native PostgreSQL adapter. For lead generation, the system integrates with an Apify Google Maps scraping actor and OpenStreetMap Nominatim for geocoding. This architecture supports prospect database creation, external data imports, secure authentication, and dashboard-based metrics.

Frontend Stack
The frontend was built with Next.js 15, React, and the App Router. The dashboard uses a modern dark UI focused on productivity, inspired by tools like Airtable, with responsive layouts, glassmorphism-style cards, micro-interactions, and a clear visual hierarchy. The interface allows users to launch new prospecting searches, view key metrics, manage lead databases, import CSV files, and navigate between sections such as dashboard, databases, prospecting agent, and configuration. CSV files are processed client-side using PapaParse before being sent in batches to the backend for import and mapping.
Backend Stack
The backend is implemented using Next.js API Routes. It manages authentication, scraping requests, CSV imports, lead database administration, and data updates. Key endpoints: POST /api/scrape — starts the geocoding process and launches asynchronous executions using the Apify Google Maps actor. POST /api/import — receives CSV-processed data and maps flexible columns into the Prisma lead model. GET / PATCH / DELETE /api/jobs — manages prospecting databases and their associated leads. POST /api/auth/login — handles persistent authentication using signed JWTs and HTTP-only cookies.
Database Stack
PostgreSQL 16 is used as the persistent database layer. The application uses Prisma 7 with @prisma/adapter-pg and the native pg connection pool. The database stores users, scraping jobs, and individual leads. Each user can create multiple prospecting databases, and each database can contain multiple leads with information such as business name, phone number, rating, review count, category, address, city, website, and Google Maps URL. Production migrations are handled safely using prisma migrate deploy, avoiding destructive operations such as force-reset.
Automation Stack
NeoProspector automates the creation of structured lead databases from niche and location-based searches. The workflow starts when the user enters a business category and a target zone. The system geocodes the location using OpenStreetMap Nominatim, runs the Apify actor to collect Google Maps data, processes the response, normalizes the fields, and stores the results as a lead database. The platform also automates CSV imports, allowing external lead data to be uploaded, processed, mapped, and stored inside the same dashboard.
AI Stack
NeoProspector is designed as an intelligent prospecting workflow rather than a traditional manual search tool. The current intelligence layer focuses on automated data collection, geocoding, lead structuring, CSV processing, and dashboard-based analysis. The architecture can be extended with AI-based features such as lead enrichment, prospect scoring, business classification, website analysis, contact prioritization, and automated opportunity detection.
Deployment Stack
The platform is deployed on Dokploy using Docker-based infrastructure. Traefik handles reverse proxy routing and automatic SSL certificates through Let's Encrypt for prospector.diabolicalservices.tech. A startup script runs when the application container starts. This process applies pending Prisma migrations, runs the admin seed to ensure required dependencies exist, and then starts the Next.js server. PostgreSQL runs as a separate persistent container with a mounted Docker volume, ensuring that lead data remains available even if the VPS restarts or the application is redeployed.

text

The Challenge

Local lead generation often requires manually searching for businesses, copying contact details, validating phone numbers, reviewing websites, checking ratings, and organizing everything into spreadsheets. This process is repetitive, slow, and difficult to scale when prospecting across multiple cities or business niches.

text

The Solution

I built a prospecting platform that generates lead databases from a business niche and target location. The system collects relevant business information, organizes the results into independent databases, and presents key metrics so users can quickly evaluate the size and quality of each lead list.

text

Sales Intelligence Dashboard

The dashboard displays useful indicators for analyzing each lead database, including total prospects, businesses with phone numbers, average rating, and total review volume. This helps users quickly evaluate how attractive a lead database is before starting outreach campaigns.

text

Prospecting Workflow

The user enters a business niche or category together with a target city or geographic area. Based on that input, the system runs the search, collects local business data, structures the results, and creates a lead database ready to review, filter, or use in commercial outreach.

text

Result

NeoProspector demonstrates how automation can significantly reduce the time required to build prospect databases. Instead of collecting information manually, users can generate organized lists of local businesses faster and with a clearer structure for analysis, follow-up, and outreach.

07 · Results

Measured Business Impact

NeoProspector demonstrates how a manual prospecting workflow can be transformed into a structured web application. Instead of searching for businesses one by one and organizing data manually, users can generate, import, store, and analyze prospect databases from a secure dashboard. The project combines full-stack development, data automation, external API integrations, geocoding, authentication, database persistence, Docker-based deployment, and dashboard design into a practical sales intelligence tool.