How it works

Three passes, and the data is clean.

Thicket sits between your warehouse and your dashboards, doing the unglamorous work — the part where numbers stop disagreeing with each other.

01

Connect once, map never

Point Thicket at Snowflake, BigQuery or Postgres and it reads your schema directly. No YAML to maintain, no mapping file that silently rots the moment somebody adds a column.

Column-level lineage is built on the first crawl, so you see what breaks before you change it.

See supported sources →
schema · public
orders
customers
payments
rev_daily
mrr
churn
214 columns mappedin 38 seconds
02

Tests that write themselves

From the first crawl, Thicket proposes the checks that actually matter per column: uniqueness on keys, freshness on timestamps, range on anything numeric, referential integrity across joins.

You approve or reject each one. Nothing runs in production until a human has said yes.

How tests are generated →
proposed · 46
✓unique
✓not null
✓freshness
·range
·fk
31 approved15 waiting on you
03

Alerts a human can act on

When a test fails you get the failing rows, the last known good run, and the commit that changed the model — in one message, in the channel that owns the table.

No digest email at 6am listing forty warnings nobody will read.

Alerting options →
#data-alerts
mrr.arr_usd — 412 nulls Last clean run 06:00. Introduced by a4f21c9 on main.
Owner: @sara · 8 min ago
✓resolved
✓resolved
1 alert this weekdown from 40