← All projects
Own product · SaaSIn production

LeadsLocales

A lead-generation platform for freelancers, agencies and B2B sellers in Argentina.

LeadsLocales dashboard
The problem

Freelancers, marketing agencies and B2B sellers in Argentina waste hours finding local businesses on Google Maps, copying data by hand and writing outreach one by one. Global tools like Apollo or Hunter don’t cover Argentine SMBs and don’t integrate with WhatsApp — the main commercial channel in the country.

The solution

LeadsLocales builds verified intelligence on local businesses across Argentina, classifies them by digital presence (no site, social only, basic, own site) and lets users filter by area, industry and rating. Contacts unlock with monthly credits, and users reach out with pre-built, industry-personalized WhatsApp and email messages — all tracked in a built-in CRM.

Features

Everything in one platform

56,000+ business database

Verified Google Maps data: phone, email, web, rating, reviews and hours, with automatic deduplication.

Digital presence classification

Each business is tagged as No Site, Social Only, Basic Site or Own Site to spot opportunities.

Advanced filters

By area, industry (42 categories), web status and rating. Filters live in the URL to share searches.

Credits and unlock

Contacts unlock with monthly credits and stay yours forever, even if you cancel.

Pre-built WhatsApp messages

Industry-personalized messages with a ready-to-send wa.me link.

Editable email templates

Subjects and bodies with dynamic variables (name, industry, area, rating) per industry and web status.

Built-in CRM

Tracking with 6 statuses, notes, reminders and filters. No external tools.

MercadoPago subscriptions

4 plans with recurring billing via MercadoPago PreApproval and an automatic activation webhook.

Admin panel

Real-time metrics, user management with plan override and an activity log.

CSV export

Paid plans export their unlocked leads to use in external tools.

56K+

businesses indexed

42

business categories

80+

geographic areas

17K+

leads with email

Tech stack

Built end-to-end

Frontend

  • React 18
  • Vite
  • Tailwind CSS

Backend

  • Node.js 22
  • Express
  • JWT (access + refresh)

Database

  • SQLite (better-sqlite3, WAL)

Infrastructure

  • VPS Ubuntu
  • Nginx
  • PM2
  • SSL Let’s Encrypt

Integrations

  • Google Places API
  • MercadoPago
  • Zoho / Gmail SMTP

Scraper

  • Python 3
  • Google Places
  • Email extractor propio
Technical decisions

The why behind the build

01

SQLite in production, on purpose

For a SaaS with low concurrent writes, SQLite in WAL mode delivers <10ms reads with no network latency and trivial backups. Queries are standard SQL, so a PostgreSQL migration is ready if volume grows.

02

Permanent unlocked leads

Unlocked contacts are stored forever, even on cancellation. It builds trust ("I don’t lose what I paid for") and lowers churn. The Agency plan bypasses credits with a query flag.

03

place_id dedup and 30-day re-check

Each business is keyed by its Google place_id, avoiding duplicates on re-scans. A date field re-queries the API only for data older than 30 days, optimizing usage.

04

Templates with 3-level dynamic resolution

Outreach matches channel + web status + industry, with progressive fallbacks. Variables resolve at runtime against the lead and the user profile, giving each user their own templates.

05

Dual auth with refresh token rotation

Short access token (15 min) for security, long refresh (7 days) for comfort, rotated on each use and invalidated on logout. Rate limiting differentiated per endpoint.

Inside the product

The product in action

Dashboard with credits and quick actions
Dashboard with credits and quick actions
Lead explorer with filters
Lead explorer with filters
CRM with statuses, notes and reminders
CRM with statuses, notes and reminders
Outreach template editor
Outreach template editor

Want a platform like this?

I build custom SaaS end-to-end. Tell me your idea.