← All case files

Case file 002Leads

The problem

“Where are our next customers coming from? Right now, nobody knows.”

Solved

For
Our own sales team
Built
GeoLeads: a Chrome extension + a team dashboard
Stack
Chrome extension · React · Node API · Neon Postgres · Vercel
Result
Number to confirm
Before: a map on one side, a spreadsheet on the other, all night3D pixel film · made by me

01 · The pain

Finding customers was a copy-paste job.

Lead 1

50 leads later, the sheet exists. Now who calls them, and when?

  1. Search Google Maps.
  2. Click a business.
  3. Copy the name.
  4. Copy the phone number.
  5. Copy the website.
  6. Paste it into the sheet.
  7. Go back.
  8. Next one.

02 · The fix

One click on the map. A list with owners.

A working model of GeoLeads with sample businesses. Import, filter the way the dashboard does, then hand the list to the team.

Sample data. Nothing leaves this page.

03 · How it works

Three steps, and one messy page to read.

  1. Search Maps like you normally would

    Open Google Maps, search a category and an area. The GeoLeads extension opens a sidebar right there and asks how many businesses to bring in.

  2. The extension does the copying

    It walks the results and saves name, category, address, phone, website and rating into a list in the dashboard. Anything already on the list is skipped.

  3. Every lead gets an owner

    Filter the list, then turn rows into Follow-up, Call or Email tasks with an assignee, a priority and a due date. The team works from tasks, not a spreadsheet.

The hard part

Google Maps isn’t made to be read by a program.

Results load only as you scroll, so the extension keeps scrolling until the list stops growing. Each card is one line of mixed text, and a careless reader saves “4.6” or “(1,203)” as the business’s category.

So every field is cleaned on the way in, opening hours are thrown away, and each business is keyed by its Maps place ID. The same bakery never lands on a list twice.

What the page says4.6(1,203) · Bakery · Open ⋅ Closes 11 pm

rating
4.6
reviews
1,203
category
Bakery
dropped
“Open ⋅ Closes 11 pm”

04 · What changed

Leads stopped being a chore nobody owned.

Businesses imported
—

Metric to confirm · e.g. leads in the first month

Time per lead
—

Metric to confirm · copy-paste minutes → seconds

What it led to
—

Metric to confirm · calls, replies or deals