Fixxmi AI lead matching for a Swiss service marketplace
AI lead matching across 12+ service categories in DE-CH and EN, inside GDPR and nFADP boundaries, with pay-per-lead Stripe credit packs.

1 / 6
A Swiss consumer service marketplace needed to match customer requests to the right tradespeople across 12+ categories, in Swiss German and English, fast enough that the customer does not go elsewhere. The marketplace owner owned the commercial model (pay per lead) and the promise to providers that leads would be relevant.
2 / 6
GDPR and the Swiss nFADP, data residency in Firestore europe-west6, bilingual DE-CH/EN requests with dialect and free-text noise, and a pay-per-lead model that only works if providers trust the match quality.
3 / 6
A matching pipeline that structures each request (category, location, urgency, language) with an LLM, scores candidate providers against it, and issues leads that providers accept by spending Stripe credit packs. Data stays in europe-west6; prompts carry the minimum fields needed. I wrote the specification, the evaluation set of labelled requests and the acceptance thresholds; AI coding agents generated the code under a three-gate review and evaluation process that I ran.
4 / 6
- Next.js 15 front end
- Firebase Cloud Functions
- Firestore (europe-west6)
- Stripe credit packs (pay per lead)
- LLM classification and scoring in DE-CH and EN
5 / 6
Residency enforced at the Firestore region and in the function deployment; personal data minimised in prompts; a labelled evaluation set gates changes to the matching prompt or model. Provider disputes over lead quality feed back into the evaluation set. I am the escalation point for production incidents.
6 / 6
Live. Measured by match acceptance rate (leads accepted by providers versus leads issued) and by dispute rate on accepted leads. Figures are not published here; I share them on a call.
Want the numbers behind this one?
Adoption and precision figures are shared on a call, not published. Book 30 minutes or send a message.