How Tilt's one-person data team serves the whole company
Hi, this is Vivek, building Contextflo. I share practical notes on getting answers from your data, a couple of times a month.

On October 28, 2025, someone at Tilt suspected coupon discounts weren't being applied. A year earlier that suspicion would have become a ticket, waited three to five days for the one person who could write the SQL, and probably pulled an engineer into the billing code. This time they typed it into Claude. Five minutes later the hypothesis was dead.
Written with Hedi Ketari, Lead Data Scientist at Tilt. A version of this story first ran on Tilt Engineering's Medium.
Five minutes, one dead hypothesis
Claude, connected to Tilt's Snowflake warehouse through Contextflo, worked the problem the way an analyst would:
- It found the tables that mattered: boosts, orders, billing and discounts.
- It tested the core logic, looking for orders where a boost was active and the minimum spend was met, but no discount landed.
- It ran negative and positive controls, then looked at October's usage over time for anything out of pattern.
There was no widespread bug. The system worked as designed, and the reports came down to timing and people misreading who was eligible. A non-technical teammate closed the question before it ever reached engineering.
That is what normal looks like at Tilt now. The person who notices something asks about it, the same afternoon.
A marketplace that can't wait a week
Tilt runs a live-auction marketplace for limited-edition goods: trading cards, sneakers, streetwear, luxury. Every day it runs thousands of fast-moving auctions across the UK and Europe, each watched by many times that number of bidders and viewers. A small dip in engagement or pricing is the difference between selling out and leaving money on the table, and it shows up within hours.
The data behind it is a modern stack, orchestrated with Dagster around Snowflake:

- Web and mobile apps and the backend send events to Amplitude.
- The backend writes transactions and auctions to AWS RDS.
- Amplitude, RDS and the marketing tools export raw logs to S3.
- Snowpipe loads S3 into Snowflake, and dbt turns the raw tables into layered models for analysis.
That stack supports about 450,000 monthly tracked users and more than 40 active pipelines. One full-stack data scientist maintains it.
One person, every question
That same person was also the answer to every question. A marketer sees a referral channel spike. A product owner sees an auction format underperform. A region falls behind. Each one filed a ticket, the ticket joined a backlog behind dozens of others, and the SLA was three to five days, if it got picked up at all.
Only three to five people at Tilt could pull data themselves. Everyone else waited for the analysis or decided on gut feel, which is a rough choice in a business that moves by the hour.

The first months
Tilt connected Claude to Snowflake through Contextflo. Contextflo sits between the two: it gives Claude context on the tables and columns, the team's metric definitions and saved queries, and it checks who is allowed to query which tables.
People started asking almost straight away. In the first two months, 27 people asked questions, and the team ran about 2,000 queries a month across operations, growth and customer experience. Most of them never touched the data backlog.
Hedi's description of the difference: "You could always connect your LLM directly to your warehouse, but that would be flying a plane without any navigation equipment; with Contextflo, you have an altimeter, GPS and a full cockpit dashboard."

Here is Hedi asking about Daily Transacting Sellers, one of Tilt's core metrics:
A year in
Today about 30 people at Tilt ask questions every week, and the team runs about 6,000 queries a month. The askers go from the CEO to customer support, and no single person accounts for much more than a tenth of it. The Spanish and Italian teams often ask in their own language.
Here is what a typical week's questions are about, from Tilt's own conversation topics:
| Topic | What people ask |
|---|---|
| GMV and seller performance | Which clip sellers are slipping, and whether buyer acquisition programs pay back |
| Customer support and CX | Shipments stuck before transit, disputed referral bonuses |
| Product and release analytics | How a feature or app release performed |
| Trust and safety | Suspicious bidding and off-platform sales |
Questions nobody filed a ticket for
The coupon check is one of hundreds. A few others from the past year:
A balance that kept dropping. A support teammate got a ticket asking why one seller's withdrawable balance was going down when they hadn't withdrawn anything. They traced the seller's ledger in Claude, then asked the obvious next question: who else? About 500 sellers had the same pattern. One support ticket turned into a payout fix, and the data team never had to get involved.
An account takeover. A CX teammate traced a fraudulent bank-detail change through more than 1,100 rows of audit logs, down to the exact event that caused it.
A report that became a command. The same CX teammate turned a seller stream-performance analysis into a reusable command, so a seller's report is now one prompt instead of an afternoon of queries.
Why the numbers still agree
Thirty people asking in their own words is usually how a company ends up with thirty versions of GMV. Tilt avoids it with shared definitions. When someone gets a query right, they save it and an admin approves it for everyone, and from then on Claude reuses it instead of writing new SQL.
That reuse is where the value is. Of all the times Tilt's approved saved queries were used, 79% were by someone other than the person who wrote them (2,473 of 3,122). One person's careful GMV definition becomes everyone's GMV. When the CEO wrote a monthly funnel for shoppable clips, seven people were using it within its first week.
The schema doesn't sit still either. When Tilt's dbt models add or change columns, Contextflo picks up the change on its daily sync and flags the context that needs a look, so nobody re-adds tables by hand.
What changed
| Before Contextflo | A year in | |
|---|---|---|
| People who can pull data | 3 to 5 | 30+ every week |
| Time to answer a simple question | 2 to 5 days | Minutes |
| Queries a month | Whatever one person could get through | About 6,000 |
The data scientist's queue went back to being analysis instead of lookups.
The coupon question took five minutes. The bigger change is that nobody at Tilt thinks twice about asking it.
FAQ
How does Tilt use Claude with Snowflake? Tilt connected Claude to its Snowflake warehouse through Contextflo, which gives Claude context on its tables and columns, the team's shared metric definitions and saved queries, and per-person table access. About 30 people a week ask their own questions, around 6,000 queries a month, instead of filing tickets with the one-person data team.
How do Tilt's teams get consistent numbers when everyone asks in their own words? Through shared definitions. When someone gets a query right, they save it and an admin approves it for everyone. 79% of the uses of Tilt's approved saved queries are by someone other than the person who wrote them, so one careful GMV definition becomes everyone's GMV.
See it on your own data.
Connect your warehouse and your team can ask Claude about it the same day, without waiting on a data team. Want a walkthrough first? Grab 20 minutes.
Book a 20-minute callSee how teams use Contextflo
Related posts
Keep reading

Conversational analytics: 5 ways to set it up, compared
7 min read

How to connect Claude to BigQuery? What works and what doesn't in 2026
8 min read

How to connect Claude to Postgres without giving it write access
7 min read

How to build a BI dashboard with Claude that your team can actually trust
8 min read

How to give Claude read-only access to your database (it isn't always the default)
7 min read

You connected your warehouse to Claude, now what?
5 min read

Set up Contextflo from inside Claude: onboarding is now a conversation
3 min read

The official Postgres server for Claude is archived. Here's what to use instead.
7 min read

Still building the weekly KPI report by hand? How to automate it with Claude
7 min read




