Demo mode — all data is synthetic. Explore freely; nothing breaks. Reset demo data
Proof of concept · built for the Tonsser Lead Backend role

AI-assisted youth-player discovery, event-sourced end to end.

A scout asks for a report. An LLM analyses only the player's recorded stats, a guardrail rejects anything it can't prove, and the result is stored as an immutable event you can replay. This is the exact shape of Tonsser's problem — discovery, mobile-scale reads, AI as a first-class concern.

No sign-up. Realistic data is already loaded.

Architecture you can see

Commands → events → projections. Watch the live event stream rebuild read models in real time.

Open the event stream →

AI with a guardrail

Every AI report is grounding-checked against recorded stats. Hallucinated numbers are rejected, not shown.

Generate a report →

Evaluated, not vibes

A labelled eval suite scores grounding, schema validity, verdict match, latency and cost.

See the eval dashboard →