BizCatcher is a high-performance, dark-themed lead generation and business discovery engine built with the state-of-the-art Next.js 16 and React 19. It leverages global geographic telemetry from OpenStreetMap (OSM) to locate physical businesses, assess their online presence, manage contact lifecycles, and stream filtered datasets directly to CSV format.
BizCatcher uses a serverless backend proxy to communicate with OpenStreetMap clusters. This design prevents CORS blocks on the client-side, shields the browser from heavy geofencing calculations, and eliminates the need for expensive Google Maps API keys or heavy browser-scraping automation.
sequenceDiagram
autonumber
actor User as Lead Generator
participant UI as Client Dashboard (NextJS/Framer)
participant API as Vercel Route Handler (/api/businesses)
participant Nom as Nominatim Geocoding API
participant Over as Overpass QL API (OSM Cluster)
User->>UI: Input City & Search Radius (e.g. "Dharamgarh", 5km)
UI->>API: GET Request with Geocode Parameters
API->>Nom: Resolve City Center Coordinates (Latitude, Longitude)
Nom-->>API: Bounding Box / Coordinates payload
API->>Over: Execute Overpass QL Bounding Box query (amenity=restaurant, shop=*, etc.)
Over-->>API: Raw OSM XML/JSON Coordinates & Properties
API->>API: Parse nodes/ways, analyze tags (website, phone, email)
API-->>UI: Deliver clean unified Lead JSON payload
UI->>UI: Filter by Outreach Status / Website Presense
User->>UI: Trigger "Export to CSV"
UI-->>User: Instant Browser CSV File Download
- Real-time Map Geocoding: Translates standard city queries into precise bounding coordinates using Nominatim API.
- Overpass QL Engine: Formulates raw OpenStreetMap QL queries server-side to pull highly specific nodes, ways, and relations within the geofenced area.
- Outreach Status Workspace: Features a custom board where outreach leads can be ticked, marked, and cataloged.
- Intelligent Website Scanners: Instantly flags leads that lack a public web address, giving outreach teams high-value cold prospects.
- Cinematic Cyberpunk Layout: Styled with vanilla Tailwind CSS v4 and responsive glassmorphism modules, enriched with micro-animations by Framer Motion.
- No-Cold-Start Performance: Client-side states are kept lightweight, resulting in immediate georeferencing rendering with 0.1s filtering latency.
├── public/ # Static graphical assets and manifest configs
├── src/
│ ├── app/
│ │ ├── api/
│ │ │ └── businesses/ # Serverless API route handler for geocoding & Overpass queries
│ │ ├── globals.css # Global CSS design tokens and scrollbar themes
│ │ ├── layout.tsx # Core metadata framework
│ │ └── page.tsx # High-fidelity dashboard controller & visual modules
│ └── components/ # Reusable glassmorphic panels and form elements
├── eslint.config.mjs # TypeScript syntax checks
├── package.json # Dependency manifest
└── tsconfig.json # Global compiler parameters
-
Clone the repository:
git clone https://github.com/Stormynubee/BizCatcher.git cd BizCatcher -
Acquire & Install dependencies:
npm install
-
Spin up local hot-reloader:
npm run dev
-
Navigate to sandbox: Open http://localhost:3000 inside your web browser.
Ensure all structural and TypeScript parameters compile cleanly before staging or pushing code:
# Run ESLint validation checks
npm run lint
# Compile production bundle
npm run buildThe system is optimized for zero-configuration deployments on Vercel:
- Framework Preset: Next.js
- Build Command:
npm run build - Install Command:
npm install - Environment Variables: None required! The app connects directly to open geodata clusters.
Developed with ❤️ by Stormynubee | Founder of AceZen Studio