Status: Live

Meet tvaras.The AI-native data platform that plugs to your stack.

Immediate answers for stakeholders. A force multiplier for your data.

Or schedule a demo with the team.

Data freshnessconv-a8f3
How fresh is our transaction data? Anything stale?
run_query1.2s
SourceLast syncStatus
stripe_charges2h ago
paypal_events45min ago
app_sessions12h agoSTALE

app_sessions is stale — last sync was 12 hours ago. Triggering incremental run now.

dbt_run0.3s
slack_send_message0.5s
Type a message...
Self-hosted
Bring your own LLM
SOC2-ready
Works from a phone
Three surfaces · one platform

Chats. Playgrounds. Jobs.

Every way a data team works, in one place. All three surfaces share the same knowledge of your warehouse, your dbt models and your metrics — and the same permissions.

Ask · explore · automate

Chats

Plain-language questions against your warehouse, answered with the SQL, the chart and the explanation. Drill in, change the range, follow up. Turn any answer into a schedule that lands in Slack, Jira or your inbox.

CAC by channel this month — what's off?
bigquery · mart_marketing_attribution · 2.1s
Organic
Google
Meta
Referral
Google CAC +42%brand_search_US at €67 vs €35 target. Mobile CVR 1.2% vs 3.8% desktop.
Verified ✓Show SQLAlert me daily →
  • Verified against your warehouse, not guessed
  • Fluent in dbt, your BI layer and your metric names
  • Automations: set it once, get it where you work
See a chat in the preview
Dashboards graduated to apps

Playgrounds

Describe the tool you need — a campaign monitor, a reconciliation screen, a lightweight CRM — and get a real, persistent app at /pg/your-slug. Wired to your data, shareable, permission-aware, version-controlled.

/pg/daily-spend-dashboardLive

Total

€48.2K

vs prev

+12%

Channels

3

Edit in builderShareSnapshot nightly
  • Charts stay editable in the builder, not frozen in code
  • Own datastore, file uploads, scheduled snapshots
  • Templates and an element library your team grows
Explore Playgrounds
From task to merged change

Jobs

A chat that owns a git branch. Start from a message or a Linear, ClickUp or Jira task; the assistant investigates, proposes a plan, edits dbt models and code on its own branch, runs your checks and hands you a diff to review, commit and merge.

stg_stripe refundsDATA-412 customer_ltv+
In progressjob/customer-ltv-412✓ dbt build
models/marts/dim_customer.sql+3−1KeepRevertAsk
12 select customer_id,
13- sum(gross_revenue) as revenue
14+ sum(net_revenue) as revenue,
15+ sum(case when is_refund then 0
16+ else net_revenue end) as customer_ltv
17 from {{ ref('fct_orders') }}
  • Goal, acceptance criteria and a verify command, agreed up front
  • Autopilot works until the goal is met or it needs you
  • Changes, Files, Git and Checks panels next to the chat
How jobs work
Playgrounds

From conversation to interactive app

Most data tools stop at the chart. tvaras keeps going. Describe what you want — "a daily ad-spend dashboard with drilldown into top campaigns" — and a real, persistent app shows up at /pg/your-slug, wired to your warehouse and ad accounts. Filterable, shareable, version-controlled. Dashboards as small apps.

You

Build me a daily ad-spend dashboard. Stacked area by channel, drilldown into top campaigns.

/pg/daily-spend-dashboard
Daily Spend
7d30d90d

Total

$48.2K

vs prev

+12%

Channels

3

SearchDisplayPMax
Mobile-ready

A data platform your team can run entirely from a phone.

Not a read-only companion app. The full workbench: chat with the assistant, open a diff, edit or create a dbt model in an editor with a proper key bar, commit, push, merge, approve a plan or an automation — from the train, the couch or the conference hall. Installs as an app and pushes a notification when a job needs you.

  • Edit and create dbt models
  • Review diffs hunk by hunk
  • Commit, push, merge, open pull requests
  • Swipe between jobs, approve plans and automations
See the mobile workbench
9:41
stg_stripeDATA-412orders explore+
DATA-412 customer_ltv working
Goal · 2 / 3autopilot on
  • customer_ltv net of refunds
  • tests pass
  • explore dimension visible
Edit dim_customer.sqlBash dbt build
Build passed — 4 models, 6 tests. customer_ltv is net of refunds. Adding the Lightdash dimension next.
Label it “Lifetime value”, 2 decimals.
Done. Ready for review — move to In review?
Yes, reviewNot yet
Message the job…
ChatChanges3 changedFilesGit

Chat + diff

9:41
dim_customer.sqlunsavedSave
1with orders as (
2 select customer_id,
3 sum(net_revenue) as revenue,
4 sum(case when is_refund then 0
5 else net_revenue end)
6 as customer_ltv
7 from {{ ref('fct_orders') }}
8 group by 1
9)
10
11select c.*,
12 round(o.customer_ltv, 2)
13 as customer_ltv
14from customers c
15left join orders o using (customer_id)
{ }( )' '=|⌘S
qwertyuiopasdfghjklzxcvbnm

Editor with key bar

9:41
stg_stripeDATA-412orders explore+
Gitjob/customer-ltv-412
↑ 1 ahead·base: main checks
Staged · 3
  • Mmodels/marts/dim_customer.sql
  • Mmodels/marts/schema.yml
  • Mmodels/marts/_lightdash.yml
Commit message✦ drafted

lightdash: expose Lifetime value dimension on Customers

CommitPushUpdate from mainOpen PR
ChatChanges3 changedFilesGit

Git: commit · push · merge

Jobs

Creating a job takes one message. Or one ticket.

No forms, no setup. A job is a chat that is goal-oriented from the first line — and it keeps a real branch, a real diff and your real checks next to the conversation.

  1. 1

    Start

    New Chat ▸ Job, or pick a task from Linear, ClickUp or Jira. The task moves to your team's "in progress" and gets a link back to the job.

    tvaras · Start a job from a task
    Start a job from a task
    LinearClickUpJira
    customer_ltvpaste a URL or key
    DATA-412Todo

    Add customer_ltv to dim_customer

    DATA-409Todo

    Refund events missing from stg_stripe

    DATA-401Backlog

    Weekly churn report → Slack

    DATA-412·TodoJ. Reyes

    Add customer_ltv to dim_customer

    Finance wants lifetime value per customer in the BI explore. Sum of net revenue from fct_orders, refunds excluded. Add a test.

    Recent comments

    “Net of refunds, please — same as the finance sheet.” — M. Kaur

    Start jobOpen existing job→ moves to In progress
  2. 2

    Plan

    The assistant reads the task and the repository first, then proposes a goal, acceptance criteria, a verify command and an approach. Nothing changes before you accept.

    tvaras · job · DATA-412 customer_ltv
    stg_stripe refundsDATA-412 customer_ltv+
    Started from Linear DATA-412
    job_task_getRead models/marts/dim_customer.sqlGrep net_revenuejob_plan_propose
    Plan proposed — your review
    Goal

    Expose customer_ltv (net of refunds) on dim_customer and in the Lightdash explore.

    Acceptance criteria
    • dim_customer.customer_ltv = Σ net_revenue from fct_orders, refunds excluded
    • not_null + non-negative tests pass
    • Lightdash dimension customer_ltv visible in the Customers explore
    Verify command

    dbt build -s dim_customer+

    Approach

    Add CTE in dim_customer.sql · schema.yml tests · lightdash meta · run build

    Accept planAccept with editsAsk for changes
  3. 3

    Work

    On its own branch it edits dbt models and code, runs the checks, ticks criteria. Autopilot keeps going until the goal is met or it needs you. Every hunk is yours to keep, revert or discuss.

    tvaras · job · DATA-412 customer_ltv
    stg_stripe refundsDATA-412 customer_ltvLightdash explore: ordersfix freshness test+
    DATA-412 customer_ltvIn progressDATA-412·In progress working · autopilot on
    Goal · 2 / 3verify: dbt build -s dim_customer+
    • customer_ltv net of refunds
    • tests pass
    • explore dimension visible
    Edit dim_customer.sqlEdit schema.ymlBash dbt build -s dim_customer+
    Build passed — 4 models, 6 tests. customer_ltv is now net of refunds. Adding the Lightdash dimension next.
    Round it to 2 decimals in the explore, and label it “Lifetime value”.
    Message the job…
    Changes3FilesGitChecks dbt build
    Mmodels/marts/dim_customer.sqlMmodels/marts/schema.ymlMmodels/marts/_lightdash.yml
    models/marts/dim_customer.sql+3−1KeepRevertAsk
    12with orders as (
    13 select customer_id,
    14- sum(gross_revenue) as revenue
    15+ sum(net_revenue) as revenue,
    16+ sum(case when is_refund then 0
    17+ else net_revenue end) as customer_ltv
    18 from {{ ref('fct_orders') }}
    19 group by 1
    20)
  4. 4

    Review & ship

    Commit with an AI-drafted message, push, merge or open a pull request. The linked task follows the job into review and done.

    tvaras · job · DATA-412 customer_ltv · review
    In review· snapshot frozen · goal 3 / 3 Approve & mergeOpen a pull requestRequest changes
    Files · 3
    • models/marts/dim_customer.sql +3 −1
    • models/marts/schema.yml +9
    • models/marts/_lightdash.yml +4
    Commits · 2
    • a41c9e dim_customer: add customer_ltv net of refunds
    • f07b22 lightdash: expose Lifetime value dimension
    Checks
    • dbt build -s dim_customer+ · 41s
    • sqlfluff lint · 3s
    • lightdash validate · 12s
    Linked taskDATA-412·QA→ on approveDATA-412·Donesquash → main

Everything else a data platform needs.

One pipeline from your sources to your team — shared by all three surfaces. Click a node.

Your sources

tvaras

tvarasyour VM

Surfaces

Where it lands

Knowledge

Auto-detected exposures from your BI tool and dbt docs, a metrics dictionary, and memories of your conventions and corrections. Every answer is checked against the warehouse before it reaches you.

Built for every team that touches data.

Founders ask, marketers attribute, data teams ship — on the same platform, with the same answers.

Simple, transparent pricing

One plan, self-hosted on your infrastructure. Try it free for 14 days.

Popular

Self-Hosted

Runs on your own infrastructure

€2,000/mo

+ API costs

  • Up to 50 users
  • Chats, Playgrounds and Jobs
  • Your own infrastructure
  • Full data sovereignty
  • Multi-warehouse support
  • dbt + BI integration
  • Slack, Jira, Linear, ClickUp
  • Scheduled automations
Start 14-day free trial

No credit card required

Enterprise

For scaling organizations

From €2,500

Tailored to scale + integrations

  • Everything in Self-Hosted
  • Unlimited users
  • Custom connectors
  • Your choice of LLM
  • Unlimited marketing-channel accounts
  • Granular permissions & roles
  • Priority support & onboarding

The free trial runs self-hosted on your own infrastructure and currently requires Google BigQuery + dbt. Other warehouses and transformation tools are coming soon.

Frequently asked questions

Straight answers, no fluff.

It complements them. A general assistant starts blank, or knows only what one person told it. tvaras holds your whole company’s knowledge — and who’s allowed to see what — and connects to all your tools. It already knows your dbt models, your metrics, your warehouse, so "CAC by channel this month?" returns a real query, a chart, and the explanation. A proprietary engine models and combines your data; a verification engine checks every answer against your warehouse, so you get facts, not hallucinations. Power users can also reach it over MCP.

No. Skills are one layer. Add purpose-built tools (warehouse queries, dbt runs, BI lookups, Slack and Jira actions, scheduled jobs), a knowledge layer that learns your metrics and conventions from real queries and corrections, and three surfaces to act on them — Chats for answers, Playgrounds for apps, Jobs for shipping changes to your repository. It’s a system on your data, not a folder of prompts.

You do. tvaras runs self-hosted in your own infrastructure — your data never leaves it, nothing for the sub-processor list. Read-only by default, every query logged for audit, granular permissions, no model trained on your data. Bring your own LLM, so you choose which provider ever sees a prompt.

No. It gives them their time back. tvaras clears the ad-hoc request queue so stakeholders get answers instantly. Your team stops being the SQL help desk and ships the hard work. An extra pair of hands, not a replacement.

Any warehouse. Fluent in dbt and your BI layer (Lightdash, Looker, Metabase). Use something we don’t support yet? We build the connector fast for your use case. A short turnaround, not a roadmap item.

Fast. No new warehouse, no migration — it plugs into the stack you already run. Connect your warehouse and dbt project, ask questions, get charted answers the same day. It sharpens as it learns your metrics. First useful answers in hours, not weeks.

Yes — and not just read dashboards. Jobs give every change its own branch, so from a phone you can ask for a new dbt model, edit the SQL in an editor with a proper key bar, run the checks, review the diff hunk by hunk, commit, push and merge or open a pull request. Playgrounds are responsive, automations are approved from the chat, and push notifications tell you when a job needs you. It installs to the home screen as an app; nothing routes through us.