Chrome Extension & SaaS Billing Backend

NoSite Leads Helper

A privacy-first Chrome Manifest V3 extension that turns Google Maps searches into exportable no-website business leads, with a local lead manager and Stripe-backed Premium licensing.

JavaScriptChrome MV3Service WorkerStripeSupabase
NoSite Leads Helper scanning a Google Maps search and listing businesses with no website in its side panel.
One-click scan of a Google Maps niche — no-website businesses captured straight into the lead panel.

Problem

What it solves

Freelancers, web designers, agencies, and local marketers all need the same prospect: a business with no website. Finding them by hand on Google Maps is slow and easy to lose track of. NoSite scans a niche-and-location search, flags the businesses without a website, and turns them into a managed list of leads.

Main features

Feature set

  • One-click Google Maps scanning that auto-scrolls the results and captures ~120 businesses per search.
  • Configurable scan targets from 20 to 1000 businesses, stackable across map areas, with duplicate protection.
  • Detects “no website” from Maps result data rather than fragile screen scraping.
  • Mini lead manager with search, filtering, sorting, editable notes, outreach statuses, CSV export, and JSON backup/restore.

Build

Extension engineering

  • Content scripts orchestrate the scan flow on Google Maps pages.
  • A MAIN-world injected sniffer intercepts and parses Google Maps result data.
  • A service worker uses chrome.webRequest to observe Maps result traffic at the network level, staying reliable when Google changes how results load.
  • Leads stay private in chrome.storage.local; anonymous licensing/device state lives in chrome.storage.sync.

Backend

Licensing & billing

  • Serverless API endpoints handle plan checks, scan counting, checkout sessions, billing-portal redirects, and verified Stripe webhooks.
  • Stripe Checkout runs Premium subscriptions; the Stripe customer portal handles invoices, cards, and cancellation.
  • Supabase stores anonymous device records, free-scan usage, Stripe customer IDs, and subscription status.
  • The extension holds no Stripe secrets — it only sends an anonymous device token for plan checks.

Reliability

Built to survive change

Google Maps markup and response structures shift constantly, so parsing is defensive by design with layered fallbacks. Live progress indicators, scan-state persistence, error handling, and recovery paths for cached or stale results keep a long scan trustworthy from start to CSV.

Tech used

Stack

JavaScript, HTML, and CSS on Chrome Manifest V3 — content scripts, a MAIN-world sniffer, a chrome.webRequest service worker, and chrome.storage. Billing runs on serverless API endpoints with Stripe Checkout, the Stripe customer portal, verified webhooks, and Supabase.