Intelligent data typemapping, at scale.

Analyze source schemas, map data types across heterogeneous systems, and generate transformation logic, without the 3 a.m. pager.

Live · mapping in action

Types inferred, nullability preserved, precision respected — automatically.

Mapping across

  • Postgres
  • Snowflake
  • BigQuery
  • Redshift
  • Databricks
  • Oracle
The problem

Mapping types across systems is where migrations quietly go wrong.

source_schema · ordersstage 01
columntypestatus
  • idUUIDok
  • order_totalNUMERIC(12,2)changed
  • created_atTIMESTAMPTZok
  • metadataJSONBok
  • shipping_regionVARCHAR(2)missing
  1. 01 · drift

    Schema drift breaks pipelines at 3 a.m.

    A NUMERIC(12,2) becomes NUMERIC(18,4) upstream. Nobody notices until the pager does.

  2. 02 · scale

    Manual type mapping doesn't scale past ten tables.

    Spreadsheets of source/target pairs age like milk. Your Monday is now spent re-verifying them.

  3. 03 · edges

    Every migration rediscovers the same edge cases.

    Timezone semantics. Unsigned integers. Nullable arrays. We've all paid this tax, more than once.

The platform

A complete mapping engine - from schema to transformation.

Four systems that work together: parse, propose, verify, compile. Each is inspectable. None of it is magic.

ordersid · UUIDtotal · NUMERICcustomersid · UUIDemail · TEXTline_itemssku · VARCHARqty · INTpaymentsref · UUIDcents · BIGINT
01 · parse

Schema analysis.

Introspect a warehouse and watch the topology assemble itself - tables, types, constraints, relationships - before a single row moves.

Learn more
VARCHAR(255)STRING0%
TIMESTAMPTZTIMESTAMP_NTZ0%
JSONBVARIANT0%
NUMERIC(18,4)NUMBER(18,4)0%
02 · propose

Auto-mapping.

Type pairs get scored against a corpus of production migrations. You review a ranked diff, not a blank form.

Learn more
03 · route

Cross-platform.

Postgres, Snowflake, BigQuery, Databricks, Oracle, MySQL - same mapping primitives, dialect-aware under the hood.

Learn more
snowflake.sql
-- snowflake / auto-generated
SELECT
  id::STRING                       AS id,
  order_total::NUMBER(18,4)        AS order_total,
  CONVERT_TIMEZONE('UTC', created_at)
    ::TIMESTAMP_NTZ                AS created_at,
  PARSE_JSON(metadata)             AS metadata
FROM source.orders;
04 · compile

Transformation logic.

Every mapping compiles to reviewable SQL or Python. Switch dialects without rewriting the plan.

Learn more
Flow

Three steps. Same abstractions end to end.

postgresdataaccentagentREAD-ONLY · SSL
01 · ingest

Connect.

Point at a database URL or warehouse credential. Read-only. We introspect; we don't mutate.

dataaccent · analyze~3.2s
  • parsing table: orders
  • → 28 columns · 4 indexes
  • inferred: 24 direct · 4 edge
  • → mapping confidence: 97.3%
  • loading dialect: snowflake
  • → ready to emit
02 · reason

Analyze.

Types, constraints, lineage, cardinality — parsed and scored. You see confidence, not black boxes.

orders.transform.sql● emitted
CREATE OR REPLACE TABLE target.orders AS
SELECT
  id::STRING,
  order_total::NUMBER(18,4),
  CONVERT_TIMEZONE('UTC', created_at)::TIMESTAMP_NTZ AS created_at,
  PARSE_JSON(metadata) AS metadata
FROM source.orders;
03 · emit

Transform.

Compile the plan to SQL or Python. Run dry; diff against expected output; promote when green.

Live · no dry runs

See it map.

One Postgres source. Three warehouses. Toggle the target and watch the type projections recompile.

source · postgres
postgres://prod/ordersSNOWFLAKE
columntarget
  • idUUID
    STRING
  • customer_idUUID
    STRING
  • order_totalNUMERIC(18,4)
    NUMBER(18,4)
  • currencyCHAR(3)
    STRING
  • metadataJSONB
    VARIANT
  • is_refundedBOOLEAN
    BOOLEAN
  • created_atTIMESTAMPTZ
    TIMESTAMP_NTZ
transformation.sql● compiled
-- snowflake
CREATE OR REPLACE TABLE target.orders AS
SELECT
id::STRING, AS id
customer_id::STRING, AS customer_id
order_total::NUMBER(18,4), AS order_total
currency::STRING, AS currency
PARSE_JSON(metadata), AS metadata
is_refunded, AS is_refunded
CONVERT_TIMEZONE('UTC', created_at)::TIMESTAMP_NTZ AS created_at
FROM source.orders;
Integrations

Twenty-plus source and target systems. One mapping vocabulary.

PostgreSQL
Snowflake
BigQuery
Databricks
Redshift
Oracle
MySQL
SQL Server
DuckDB
ClickHouse
MongoDB
DynamoDB
PostgreSQL
Snowflake
BigQuery
Databricks
Redshift
Oracle
MySQL
SQL Server
DuckDB
ClickHouse
MongoDB
DynamoDB
Kafka
Kinesis
Pub/Sub
Fivetran
Airbyte
dbt
Dagster
Airflow
Prefect
Iceberg
Delta Lake
Parquet
Kafka
Kinesis
Pub/Sub
Fivetran
Airbyte
dbt
Dagster
Airflow
Prefect
Iceberg
Delta Lake
Parquet
The numbers

Measured, not claimed.

0+
schemas analyzed
across customer warehouses, live.
0.0%
mapping accuracy
human-verified, scored against prod traces.
0+
source & target systems
relational, columnar, streaming, object.
The delta

From a 3-week cutover to 1 PR.