Latest version · v2.6 · Free & open source

Download
Lead Finder.

One folder, one command. It finds local businesses with no website, scores the ones who have a bad one, and hands you a finished demo site with their name already on it.

Version 2.6 · the newest build

ripple-lead-finder.zip

Everything you need. Unzip it anywhere, run one command, and it's ready. Works on macOS, Windows and Linux. The only thing you need already installed is Python.

~112 KBMIT licenceNo accountNo card
Download
Downloading from here gets you the newest build. The GitHub repository is where the source lives and where you can read every line before you run it — but the release published there can be a few versions behind this page. If you just want to use the app, take the zip above.
Getting started

Four steps.
About a minute.

No installer, no sign-up, nothing to configure first.

01

Unzip it somewhere you'll find again

Your Desktop is fine. You'll get a folder called ripple-lead-finder. Everything the app ever writes stays inside it.

02

Check you have Python

Open Terminal and type python3 --version. If you see a number 3.8 or higher, you're set. If not, get it free from python.org — two minutes, one download. On Windows, tick "Add Python to PATH" on the installer's first screen or nothing will find it afterwards.

03

Run one command

In Terminal, move into the folder and start it:

$ cd ~/Desktop/ripple-lead-finder
$ ./start.sh

Prefer not to touch a Terminal at all? Double-click start.command on a Mac or start.bat on Windows. Same thing. On a Mac the first double-click may say "unidentified developer" — right-click the file, choose Open, then Open again. Once, ever.

04

Wait for READY, then open the address

Ripple Lead Finder
────────────────────────────
App             READY
Database        READY
Foundry         CONNECTED
Catalogue       198 industries
Audit           READY
Ollama          OPTIONAL / OFF
────────────────────────────
Ripple Lead Finder is READY  →  http://127.0.0.1:5000

Your browser usually opens by itself. If it doesn't, click the address it printed. That table appears every time you start — it's the honest state of your machine, not a splash screen.

You want toRun this
Start it./start.sh — safe to run any number of times
Stop it./stop.sh, or Ctrl-C in the window
Restart it./stop.sh && ./start.sh
Refresh the templates./sync.sh
See what's installedpython3 bootstrap.py check

Windows users: use start.bat. The .sh scripts are macOS and Linux only — we'd rather say that than pretend.

Once it's open

What to
actually do.

The whole workflow, in the order you'll do it.

1. Find businesses

Pick a trade from 258, a country, then a town. Press Find Businesses. A minute later you have real local businesses with no website — phone, email, owner's name, Instagram, opening hours. Closed and abandoned ones are filtered out before you see them.

2. Read the score

Every lead gets a number out of 100 for how easily you can reach them today. Best first. Filter by has-phone, has-email, live Instagram, owner known, fresh data, or your shortlist.

3. Run the free audit

For anyone who already has a website. One button, ten seconds: a score out of 100, five category bars, every failing check worst-first with the fix, and an opening line written from their biggest problem. The box is editable — if the map data missed their site, paste the address in yourself.

4. Send the links

A read-only audit report they can open, a priced proposal, and a live demo site with their name already on it. Copy button on each. Paste into WhatsApp, email or a DM — you send it yourself, from your own account.

5. Track who replied

Move each lead through New → Contacted → Replied → Won → Lost. Star the ones you're working today. Your win rate is on screen without a spreadsheet.

6. Do it in bulk

Audit your shortlist, top 5 or top 10 in one go. It paces itself so the audit server doesn't throttle you, then every lead has a score waiting when you click it.

Nothing is sent automatically. The app writes the message and puts it on your clipboard; you press send. That's deliberate — auto-sending gets phone numbers banned and email domains blacklisted, and a shop owner can tell a blast from a real message in one line.
What you need

Almost
nothing.

ThingNeeded?
Python 3.8+Yes — the one thing you install yourself. Free, two minutes.
FlaskNo — ./start.sh installs it for you if it's missing.
An accountNo. There isn't one. Nothing to sign up for.
A cardNo. The app is free under the MIT licence, permanently.
An AI keyOptional. Add an OpenAI, Claude or Grok key in Settings to have messages rewritten uniquely. Without one you get good templates.
OllamaOptional. A free model on your own machine for extra message variations. Nothing leaves your laptop either way.
InternetFor searching and auditing, yes. Personalised links are built on your machine and work offline.

Where your files live

ripple-lead-finder/
  leads.db          your leads and pipeline — back this up
  config.json       your settings
  leadfinder.log    what the app printed last run

No cloud, no telemetry, no tracking. Delete the folder and it's gone.

Before you ask

Straight
answers.

Because this page has the newest build. GitHub is where the source lives — read every line before you run it, fork it, change it, that's the point of it being open. But the release published there can lag a few versions behind. If you want to use the app, take the zip from this page. If you want to read the app, go to GitHub.

Yes, and permanently. MIT licence, which means even if this website vanished tomorrow you could keep using it, change it, and sell what you build with it. No paid tier, no trial, no card. Ripple Foundry — the website building service the demo links point at — is the paid part, and it's entirely optional. Plenty of people use the app and build the sites themselves.

Free, unlimited, and nothing to install. It runs on the Foundry server, so the button works the moment you open the app. No AI is involved at all — 31 fixed rules, which is why the same site scored twice gives the same number. An AI "audit" gives a different answer on a different day and can't tell you why.

OpenStreetMap — public, community-built, open data, and we credit it. We deliberately don't scrape Google: it breaks their rules, stops working after a few dozen searches, and the code needed breaks every few weeks. Map data is also structured, which matters — "has no website" is a real field, so the filter is exact rather than a guess.

Nothing is uploaded. There's no account and no server of ours involved. The app runs on your laptop and saves leads to a single file on your own drive. Things do leave your machine when you search the public map, and when you run an audit — that one sends the prospect's public website address to the Foundry engine, nothing of yours. If you add your own AI key, your messages go to that provider. All of it is visible in the source.

Run python3 bootstrap.py check — it prints exactly what's wrong. The zip includes TROUBLESHOOTING.md with the fix command for every message the app can produce: Python missing, pip missing, port 5000 taken (that's macOS AirPlay Receiver, not you), database locked, Foundry unreachable. If you're still stuck, open an issue on GitHub with that output.

Yes — double-click start.bat. The .sh scripts are macOS and Linux only, so that's the one difference. Everything else behaves identically. The most common Windows problem by a mile: if start.bat flashes and closes, Python isn't on your PATH — reinstall Python and tick that checkbox on the first screen.

That's the
whole setup.

Unzip, one command, start finding clients.

Download the zip Read the full docs Source on GitHub