Contextflo Blog

Set up a semantic layer in the time it takes to brew a pourover

Traditional semantic layers take weeks. Here's how to get consistent metrics in under 5 minutes. No YAML, no data team, no config files.

May 4, 20264 min readVivek Sah

A pourover takes about 4 minutes. Grind the beans, bloom, pour in slow circles, wait. In that same window, you can connect your database, generate metric definitions, and have your entire team querying data through AI with consistent results. Here's how.

Set up a semantic layer in 5 minutes

0:00. Grind the beans

While you're measuring out your coffee, open Contextflo and click “Add Data Source.” Pick your warehouse (Postgres, BigQuery, Snowflake, ClickHouse, Redshift, or Databricks). Paste in your connection string.

Tip: Use a read-only credential. Contextflo never writes to your database, and read-only access means there's zero risk of accidental mutations.

0:30. Start the bloom

Once connected, Contextflo scans your schema (tables, columns, foreign keys, data types). Select the tables you want your team to query. You don't need all of them. Start with the ones people ask about most: orders, users, transactions, whatever drives your business.

The platform auto-generates descriptions for each table and column. “orders” becomes “Customer orders with line items, payment status, and fulfillment tracking.” “created_at” becomes “Timestamp when the order was placed (UTC).”

1:30. First pour

Review the auto-generated descriptions. Most will be right. Some will need a tweak, like “amount” should specify “gross revenue in USD before refunds” instead of just “order amount.” Click, edit, done.

This is where you encode the business logic that makes a semantic layer valuable. Not in YAML files. Not in a config repo. Just plain English descriptions that tell the AI exactly what each column means.

2:30. Second pour

Set up access control. Invite your team members and assign them to the data source. Everyone who needs answers gets access. Everyone who shouldn't see sensitive data doesn't.

Contextflo enforces read-only queries and logs every query for audit. Your team can ask anything without you worrying about what they might accidentally change.

3:30. Final pour

Open Claude (or any AI that supports MCP), connect to your Contextflo workspace, and ask your first question:

“What was our revenue last month compared to the month before?”

The AI reads your table descriptions, understands that “revenue” means the sum of the “amount” column where status is completed, writes the SQL, runs it against your database, and gives you the answer. Same definition, every time, for every person on your team.

4:00. Coffee's ready

That's it. Your semantic layer is live. No YAML files. No deployment pipeline. No data engineer spending two weeks mapping joins. Just a connected database with clear descriptions that give AI the context it needs to answer questions consistently.

The traditional approach (Cube, dbt, LookML) takes days to weeks and requires ongoing maintenance. This takes the length of a pourover, and the definitions stay in sync with your schema because they're generated from it.

What happens after the first cup

Over the next few days, your team will ask questions that reveal gaps. Maybe “churn” needs a specific definition. Maybe a join between orders and customers needs a note. You add these as you go, 30 seconds each. Your semantic layer gets smarter over time without a modeling project.

Day 1: Connect, generate descriptions, ask your first questions.

Week 1: Refine 5-10 descriptions based on real questions from your team.

Month 1: Your team has run hundreds of queries with consistent definitions, without anyone writing a line of YAML.