A local lead-referral marketplace. Local businesses post cash bounties for a converted customer ("$50 when they book"). Anyone — signed in or anonymous — can send a business a lead by referring someone or claiming for themselves. The business pays only when it actually wins the customer, and the money goes to a real person instead of an ad platform. Earning requires identity (v1.3): rewards go to signed-in submitters and referrers; a fully anonymous lead is delivered free, as a gift to that business.
Stop renting customers from Google and Meta: pay only for converted leads, and keep the money local.
A product of NeuClix.
All build milestones through v1.3 are complete and merged to master:
- M1 — walking skeleton: the full loop — bounty → lead (anonymous / referral-link / signed-in) → won → payout → off-platform settlement.
- M2 — pilot-ready: duplicate detection, SLA nudges, public trust stats, bounty templates + price guidance, printable QR flyer kit, link unfurls (OG), in-app-webview auth guidance + Facebook login, email deep-links, and a Terms/Privacy skeleton.
- M3 — network liquidity: server-side XP + weekly streaks, an opt-in leaderboard, a cross-business discovery feed, a submitter quality signal for owners, and a PWA install layer.
- M4 — Stripe payout rails (env-gated): recipients can opt into automatic payouts (Stripe Connect Express); everyone else stays on the off-platform settle loop.
- v1.3 — identity-gated earnings: anonymous is never paid (claim codes retired); anonymous bounty submissions become free gifts with a gift won-email; a community pool (
/contribute) takes donated no-bounty leads; a public money-kept-local counter; share buttons; an SLA needs-attention marker. - P4–P6 — storefronts, profiles & content: Storage-backed logos/covers/photo galleries, payment-method display, the
/businessesdirectory, personal profiles with phone verification and public profile pages, the printable-flyer modal, and an admin content library (YouTube embeds + blog). - P7 — growth links & measurement: first-party short links (
/s/{code}) with per-owner click tracking across every share surface (referral links, flyer QR, storefronts, profiles, pool leads), profile link unfurls, GA4 funnel analytics, pooled-lead TTL, and preview-channel deploys. - P8 — Places-powered onboarding: Google Places autocomplete behind
src/lib/places.ts— find-your-business prefill on Onboard, address autocomplete on EditBusiness,businesses.placeIdstored. - P9 — referral crews: BNI-style groups with self-service membership, crew chat with push notifications, crew-vs-crew challenges (dollars or wins, 14-day windows, daily sweep), derived badges for users and crews, and win-rate/track-record surfaces on public profiles,
/me, and the Bounty Board.
1,237 automated tests pass (722 unit · 286 functions · 229 security-rules). Live at https://obtainium.americanbrandstand.com (alias: bounties.americanbrandstand.com; project american-brand-stand; first deploy 2026-07-11).
Full manuals live in docs/manual/:
| Doc | For |
|---|---|
| Developer / architecture manual | Engineers — data model, the rules-as-backend, all 10 Cloud Functions, running locally, conventions |
| Deploy & operations runbook | Shipping the pilot — credentials to obtain, pre-pilot hardening, the deploy sequence, ops |
| Business owner guide | Owners — create a profile, post a bounty, work leads, settle, print flyers |
| Submitter / referrer guide | Earners — sign in first, referral links, the community pool, getting paid, points & the leaderboard |
The design rationale and per-milestone decision ledgers are in docs/plans/.
Vite 8 · React 19 · TypeScript 6 (SPA) · Firebase — Auth, Firestore, Cloud Functions v2 (Node 20), Hosting · Firebase Emulator Suite for local dev.
Requires Node ≥ 20, npm ≥ 10, and Java ≥ 11 (the Firestore emulator needs a JVM). See the developer manual for the full walkthrough.
npm install
npm install --prefix functions
npm run dev # Vite dev server (auto-connects to emulators in DEV)
npm run emulators # Firebase Auth / Firestore / Functions / Hosting / UITests: npm test (unit) · npm --prefix functions test (functions) · npm run test:rules (security rules, against the emulator).
© 2026 NeuClix. All rights reserved. This repository is source-available for reference only — see LICENSE. It is not open source: viewing the code grants no right to use, copy, modify, deploy, or redistribute it. Licensing inquiries: steve@neuclix.com.