Product

How it works, without the hand-waving.

If you're the person who'll be blamed when a number is wrong, this page is for you.

How Vizkraft answers a question01

One question, end to end: you ask it in plain English, we map it to your schema, write and verify the SQL, run it in your database, and return a designed dashboard. Here it is on a real question, with the SQL and the reasoning available if you want them.

You ask in plain English.

You ask in plain English.

The four checks02
01

Understand

We map your question to your schema. “Churn” resolves to a specific table and column in your database, not a generic definition. If it maps to more than one, we ask.

02

Write

We generate SQL against the indexed schema: real table names, real column names, real join paths.

03

Verify

Before execution, the query is checked against the live schema: do these tables exist, do these columns exist, are these joins valid, are these types comparable. A query that fails this never runs and never reaches you.

04

Sanity-check

The result gets compared against recent history for the same metric. A number that moves more than expected gets flagged, not hidden.

How we choose a chart03

Every one of these is a rule an analyst applies without thinking. We wrote them down.

What came backWhat you getWhy
One numberLarge figure + sparklineYou want the value and the direction, not a bar of one
Metric over timeLineContinuity is the point
Categories, ≤7Horizontal bar, sorted by valueSorted bars beat alphabetical; horizontal fits long labels
Categories, >20Bar with top-N + grouped remainder40 bars is a texture, not a chart
Parts of a wholeStacked barNever a pie. Humans compare lengths, not angles
Two measures, many rowsScatterYou're looking for the relationship
DistributionHistogramAverages hide bimodality
Flow between stagesSankeyWhere the drop-off is
Where we're weak04

The honest version. This is the section that makes the rest of the page believable.

Ambiguous business terms

If your schema has three plausible definitions of ‘active user,’ we still can’t guess which you mean. But you define it once in the semantic layer, and we use that definition everywhere after. Until it’s defined, we ask.

Deeply denormalized schemas

If your production database has a metadata JSONB column holding thirty semantically distinct fields, we’ll find it and we’ll struggle with it. Tell us what’s in there and we improve immediately.

Multi-hop questions with implicit filters

“Revenue from customers who churned and came back” involves assumptions we may get wrong. Open the SQL on questions like this.

What we won't do

We don’t forecast, we don’t run statistical tests, and we don’t tell you why a number moved. Those are analyst jobs and we’d rather be honest than plausible.

Security & data flow05

We index your schema: table names, column names, types, relationships. We never copy, cache, or persist your rows. Queries run against your database and results stream to your browser.

Read the full security & data-flow details →

Connectors06

Connect a database directly. We index the schema, not your rows.

PostgreSQL logo
PostgreSQLDatabase
Supabase logo
SupabaseDatabase
MySQL logo
MySQLDatabase
MongoDB logo
MongoDBDatabase
BigQuery logo
BigQueryWarehouse
Snowflake logo
SnowflakeWarehouse
ClickHouse logo
ClickHouseWarehouse
Redshift logo
RedshiftWarehouse

See how it answers your question.

Tell us about your stack and we'll walk you through a live demo with your own data.