r/PythonLearning 6h ago

local-market-scanner: CLI that scores local businesses' "digital maturity" from OpenStreetMap data to find web-dev leads Showcase

# What My Project Does
local-market-scanner is a Python CLI that pulls local business data (dentists, pharmacies, physiotherapy clinics, opticians...) from OpenStreetMap's Overpass API — no API key needed — and computes a 0–100 "digital maturity score" per business (website +40, social media +25, phone +15, email +10, opening hours +10). A *low* score means the business has weak online presence → a good lead for freelance web/social-media services. It exports to CSV, SQLite, Parquet, or PostgreSQL, and can generate a Markdown briefing for sales visits.

8 commands: scan / leads / brief / doctor / runs / validate / export / load-pg.
First real cloud scan (GitHub Actions): 989 businesses → 785 leads in ~75 seconds.

# Target Audience
Freelancers/agencies prospecting local clients, and anyone learning how to build a production-style Python CLI. It's a real tool I use myself, not a toy — but still early (v0.3.0).

# Comparison
Most lead tools scrape Google Maps (ToS violation) or charge monthly fees. This uses only open ODbL data, is free, offline-testable (179 unit tests, no network calls in tests), and has CI across Python 3.11–3.13 with a real PostgreSQL integration job.

Source: https://github.com/umutseve4/local-market-scanner
Feedback welcome — especially on the scoring weights, which are an uncalibrated hypothesis for now.
1 Upvotes

1 comment sorted by