Skip to main content

Curbside Commons · stalled-merchant activation

Activate stalled, long-tail merchants — responsibly.

In plain terms:it finds which delivery-marketplace merchants are stuck getting set up and why, drafts the next message with every claim checked against the merchant's own data, and keeps a person in charge — built to be measured, audited, and adopted.

Technically:deterministic risk + blocker triage → bounded, schema-constrained LLM drafting → a claims-gatekeeper that ties every declared claim to the merchant's own data → an eval harness over the output → a human approval gate with an audit trail. Avoids the false-claim/churn failure the AI-outreach wave is hitting.

Honest data label: The merchant names shown are FICTIONAL (no real businesses — so synthetic risk states are never attached to real people). The product's adapter ingests real DataSF public-record names (PDDL 1.0, public domain — name + category only, PII-scrubbed; see lib/ingest/sf-adapter.ts). Activation state is synthetic and illustrative. No real merchant relationship or account.
20
Merchants
hybrid set
6
Simulated sent
eligible + clean
14
Held for review
human gate
20/20
Eval passing
quality dims
$0.00
Gemini spend
≤ $5 cap · 0 live calls
REPLAY
Mode
demo makes no live calls

How it works & why it's safe

Triage

Find who's stuck, and how badly.

Deterministic risk score + level (auditable formula).

Diagnose

Pin the exact blocker.

Onboarding-step → blocker/next-action map.

Draft

Write the right next message.

Bounded, schema-constrained LLM (REPLAY here; a real Gemini run is recorded — see Eval).

Gate

Check each declared claim against the data.

Claims-gatekeeper: each declared claim traces to merchant data + forbidden-claim guardrails (undeclared prose isn't fully semantically verified — a documented boundary).

Score

Measure draft quality.

Eval graders: structure · state-consistency · policy · no-leakage.

Approve

A human decides: hold / reject / send.

Human-in-the-loop gate; simulated send; full audit trail.

Activation queue

Fictional businesses with synthetic activation state — the adapter ingests real DataSF public records (fictional display, real-data capability). Open one to see the full why-chain end to end.

MerchantCategoryRiskBlockerQualityStatus
Fog City TacosRestaurantHigh · 123business_verification_needed4/4Held for review
Bayview BistroRestaurantHigh · 150menu_upload_needed4/4Held for review
Marina MorselsRestaurantMedium · 75photos_needed4/4Simulated sent
Sunset Noodle HouseRestaurantHigh · 126business_hours_needed4/4Held for review
Mission MasaRestaurantMedium · 70bank_verification_needed4/4Simulated sent
Embarcadero EatsRestaurantHigh · 85final_verification_needed4/4Held for review
Nob Hill NibblesRestaurantHigh · 146business_verification_needed4/4Held for review
Presidio PizzeriaRestaurantHigh · 91menu_upload_needed4/4Held for review
Castro Curry CoRestaurantHigh · 170photos_needed4/4Held for review
Dogpatch DinerRestaurantHigh · 183business_hours_needed4/4Held for review
Cable Car GoodsRetailHigh · 148bank_verification_needed4/4Held for review
Twin Peaks ThreadsRetailMedium · 55final_verification_needed4/4Simulated sent
Haight Street HardwareRetailHigh · 218business_verification_needed4/4Held for review
Richmond RecordsRetailHigh · 159menu_upload_needed4/4Held for review
Soma Supply CoRetailHigh · 100photos_needed4/4Held for review
Pacific Heights ProvisionsRetailLow · 37business_hours_needed4/4Simulated sent
Glen Park GoodsRetailMedium · 77bank_verification_needed4/4Simulated sent
Outer Avenue OutfittersRetailHigh · 156final_verification_needed4/4Held for review
Bernal BooksRetailMedium · 73business_verification_needed4/4Simulated sent
Hayes Valley HomeRetailHigh · 137menu_upload_needed4/4Held for review

Data provenance: FICTIONAL demo names — invented for the public demo; NOT real businesses. (The real-data CAPABILITY is intact: lib/ingest/sf-adapter.ts ingests real DataSF 'Registered Business Locations'.) (g8m3-pdis (the real adapter source; this displayed fixture is fictional)), PDDL 1.0 (the real DataSF adapter source is public-domain; the fictional names in THIS fixture carry no license constraint). Real layer = business name + category only; activation state synthetic. Human-led, AI-assisted, professionally reviewed — never a claim of real marketplace access or business impact.