A text-to-SQL assistant that lets anyone ask questions about company data in plain language and see the answer together with the SQL behind it.
Dashboards answer the questions someone planned for. Every follow-up (“And only Bavaria? Only Q4?”) goes to an analyst and waits in a queue.
Real exchange from the demo (German data, German questions).
The agent remembers the conversation and writes a complete SQL query every time: BMW, 2025, Q4, Bayern. The SQL is always shown, so every number can be checked.
Chat or webhook → SQL agent with local LLM and memory → SQL validator → read-only PostgreSQL → short answer with table and SQL.
SELECT on one view only. No access to base tables, no writes.
Slow or runaway queries are cancelled by the database.
One SELECT only. Data changes, system schemas and multiple statements are rejected.
Every query is wrapped with a row limit before it runs.
17 of 18 correct on new test questions never used for tuning
average answer time with a small local model (8B parameters)
local: no question and no data leaves the machine
The main set of 25 questions (25/25) was used to tune the prompt, so we report the holdout result. The one miss was an integer-division error, which is why the SQL is always shown next to the answer.
Any team with data in a SQL database and recurring questions about it.
Which products drove the most revenue in October?
Which regions fell behind last quarter?
How many deliveries were late this month?
How much scrap did line 3 produce this week?
Which cost centres are over budget?
Which campaign had the best ROI this quarter?
Works best with a clean SQL data source and clear metric definitions. Personal data stays out of the view or is pseudonymised.
Tell us your main challenge. We reply within 24 hours with a clear plan: no sales pitch, just honest advice.
Get in touch