Ask your database anything. Get back a chart.

Datagini plugged into your Postgres database, turned plain-English questions into SQL, ran it, and handed back interactive charts. All on your own AI key.

See how it worked
datagini.satishhebbal.design/project/acme-prod
Gini
Reading your schema...

Revenue is up 22% over the last 6 months, with the sharpest jump in May.

6 rows
ChartTable
Jan
Feb
Mar
Apr
May
Jun
Generated SQL
SELECT date_trunc('month', created_at) AS month,
       SUM(amount) AS revenue
FROM orders
GROUP BY 1
ORDER BY 1;
›Top 10 customers by lifetime value›Which cities drove revenue last quarter?›Orders by weekday and hour›Monthly churn for the last year›Average order value by plan›Products with falling sales›Signups vs churn by quarter
›Is each rep hitting target?›Where does our traffic come from?›Revenue by region, split by plan›Newest enterprise accounts›Refund rate by payment method›Daily active users this month›Busiest hour for support tickets

[ 01 ] How it worked

From connection string to chart.

One question, followed all the way through. Scroll to watch it move.

[ 01 ]

Connect your database

Paste a Postgres connection string. Datagini tests it, encrypts it, and keeps it on your project. Nothing else to install.

dashboard / new project

Connect a database

Supabase, Neon, Railway, Render, or your own Postgres.

postgresql://user:password@host:5432/database
Test connection
acme-prodPostgreSQL 15 · 6 tables

The connection string is encrypted before it's stored.

[ 02 ]

It reads the schema

Tables, columns, types and foreign keys come straight from information_schema, so the model knows what actually exists before it writes a line of SQL.

project / acme-prod / schema
SELECT table_name, column_name, data_type
FROM information_schema.columns
customers6 cols
orders7 cols
order_items5 cols
products8 cols
payments6 cols
sessions4 cols

orders.customer_id → customers.id

order_items.order_id → orders.id

order_items.product_id → products.id

Schema context ready · 6 tables · 36 columns · 3 keys

[ 03 ]

You ask in plain English

Type the question the way you'd ask a teammate. Leave the layout on Auto, or force one of 13 visualizations from the picker.

project / acme-prod / chat
Gini

Ask anything about acme-prod.

Ask a question about your data...

Auto Llama 3.3 70B

[ 04 ]

An agent writes and runs the SQL

A small SQL agent calls run_sql against your database, reads the rows it gets back, and writes a short answer in plain English.

agent trace

sql_analyst started

Schema and question in context

tool call · run_sql

SELECT c.city, SUM(o.amount) AS revenue
FROM orders o
JOIN customers c ON c.id = o.customer_id
WHERE o.created_at >= date_trunc('quarter', now()) - interval '3 months'
  AND o.created_at <  date_trunc('quarter', now())
GROUP BY c.city
ORDER BY revenue DESC
LIMIT 5;

5 rows · 38 ms

Bengaluru 48.2L · Mumbai 39.5L · Delhi 31.1L · ...

Answer written, picking a layout

[ 05 ]

The answer renders itself

Instead of slow, fragile generated code, the model returns a tiny JSON spec. Prebuilt, themed components turn it into an interactive chart in milliseconds.

generative ui

Model returns a tiny spec, not code

[ 02 ] Generative UI

13 ways to see an answer.

The model picked a layout for every result, or you forced one yourself. Hover the charts, sort the table, click through the layouts.

›Which products earned the most this quarter?

01
Aurora desk lamp₹4.8L
02
Nimbus ergonomic chair₹4.0L
03
Loop mechanical keyboard₹3.1L
04
Drift standing desk₹2.3L
05
Halo monitor arm₹1.8L
{ "layout": "leaderboard", "label": "product", "metric": "revenue", "highlightTop": 1 }

[ 03 ] Schema explorer

Your schema, laid out clearly.

Every table, column and foreign key, mapped into a diagram the moment you connect.

customers
iduuid
nametext
emailtext
created_attimestamptz
orders
iduuid
customer_iduuid
amountnumeric
created_attimestamptz
order_items
iduuid
order_iduuid
product_iduuid
quantityint4

Hover a key to trace the relationship

[ 04 ] Bring your own key

Your keys. Your data.

Plug in OpenAI, Claude, Gemini, or any OpenAI-compatible endpoint. A free Llama 3.3 70B through NVIDIA NIM came built in.

  • API keys encrypted at rest, per project
  • Connection strings encrypted before they're stored
  • Queries run against your database, not a copy of it
  • Switch models per project, no lock-in
Gini

[ -- ] Epilogue

This one goes on the wall.

A few months after I built it, AI assistants learned to do all of this right in the chat. That's how building feels right now: tools go out of date month by month. Datagini stays up as a snapshot of the moment it still needed solving.