Purpose
An LLM is most useful here for working out what the user means. Application code should keep control of the database.
Ask an analytics question in plain English. A large language model (LLM) plans the query, application code builds the SQL, and the answer is written from the returned rows. A benchmark harness scores runs.
The demo asks visitors to verify an email address and answer one short prompt, so anonymous traffic cannot spend the paid model calls.
An LLM is most useful here for working out what the user means. Application code should keep control of the database.
Grounded turns a plain-English analytics question into a structured query plan using an LLM. The app checks the plan against allowlists (lists of permitted tables, columns and operations). It then builds parameterized SQL from approved pieces, runs it, and writes an answer from the returned rows.
I set where the model's authority ends, the code path that builds and runs the SQL, how answers are grounded and evaluated, and the acceptance criteria. I direct and review the backend and evaluation work against those rules.
Screenshots of the interface, taken from the portfolio repository. Scroll sideways to see each one. Open an image for full size.

Where the user types an analytics question.

The structured query plan the model proposed.

The SQL view. The compiler builds the SQL from a validated plan.

The result shown after the database query runs.
Example screenshots already stored in the portfolio repository. They do not confirm the currently deployed build, model accuracy, or the latest evaluation results.
Each diagram links to its Mermaid source (a text format for diagrams) and has a static SVG version. They show how control and evidence move through the system. They illustrate the design and do not record real runs.
How a live question moves through the system: rejected plans, two separate model requests (plan and answer), and a saved trace (a record of each step).
Adapted from the request-pipeline Mermaid diagram and notes in the Grounded repository, at commit f30bd05e. Details left out do not mean the behavior is absent.
These diagrams show the architecture, who is responsible for what, and where evidence comes from, based on the project record. They describe the implementation and its stated limits. They are not independent test results.
01 / Execution path
The model works out what the user is asking. Application code validates the plan and builds the database query. The answer comes from the returned rows.
02 / Who controls what
The model cannot skip the compiler or run a query itself. The policy rules and the rows the database returns limit the response.
03 / Comparison
A proposed plan gives no permission to query any table or column. The application either accepts a validated plan or rejects it.
Rerun the evaluation matrix on the current code. Record the provider, model and prompt, case count, latency, usage, failure types and limitations.
Older evaluation results are historical and are not shown here as current performance.
Visitor analytics: page interactions, source category, browser information, and network IP metadata are recorded in private server logs. No analytics cookies are used. Opt out of future engagement beacons in this browser.