Validated SQL · Analytics
Sports Analytics Workbench
Explore natural-language sports queries, structured intent, compiled SQL, and chart recommendations in a working sample-data demo.
The public demo uses a bundled sample engine unless a Python/PostgreSQL backend is configured.
- Python
- FastAPI
- LangGraph
- PostgreSQL
- FAISS
- Next.js
- TypeScript
What I built
Inspect the query plan and SQL alongside the result, with explicit sample-data mode.
- Designed a deterministic planning pipeline that separates intent extraction, SQL compilation, validation, execution, and chart recommendation.
- Built hybrid BM25 and semantic retrieval using FAISS and sentence-transformers for business-rule context.
- Added a bundled TypeScript demo so the public workbench remains usable without a separate PostgreSQL service.
How it works
- Resolve the requested metric, grouping, filters, and ambiguity.
- Compile a structured plan into schema-locked, select-only SQL.
- Execute through the configured backend or the embedded sample engine.
- Return a table, chart recommendation, and inspectable query trace.
Evaluation & evidence
Planner and SQL tests check supported intent and schema constraints. The embedded demo is a functional illustration, not a live-database scale benchmark.
Scope & limitations
In sample mode, SQL is shown for inspection while computation uses committed data in the embedded engine. Event-derived distance values are proxies, not full optical-tracking measurements.