Project: Brewly, end to end
Brewly roasts specialty coffee and sells it two ways: subscriptions (a bag every week or every month, on one of three plans) and one-off orders from its web shop. It has 40,000 customers and a small team that keeps asking questions nobody can answer quickly:
Every step continues your own work from the last: concepts, source model, star schema, history, snapshot, metrics, ontology and guardrails.
Outcome: You can carry a real business case from requirements to a governed, agent-ready data model and explain every decision.
- 1
Meet Brewly: name the business concepts
Before any table design, agree what the business is made of.
Build concepts and relationships · 12 min · instant checks
- 2
Model Brewly's source system
Fix the order table that can only hold one coffee, and connect every table.
Build it in the Model Builder · 14 min · instant checks
- 3
Design Brewly's star schema
Build the order-line fact and its dimensions on top of your source model.
Build it in the Model Builder · 16 min · instant checks
- 4
Add history and a second date
Keep revenue by city true when customers move, and measure shipping time.
Build it in the Model Builder · 12 min · instant checks
- 5
Model subscriptions as a monthly snapshot
MRR and churn aren't events. Capture the state of every subscription each month.
Build it in the Model Builder · 14 min · instant checks
- 6
Define Brewly's semantic layer
Turn your star into the governed metrics every dashboard and agent will share.
Define governed metrics · 14 min · instant checks
- 7
Map Brewly's ontology onto your model
Your step 1 concepts come back. Now they point at the analytics model.
Build concepts and relationships · 12 min · instant checks
- 8
Make Brewly's model safe for AI agents
Move personal data where the assistant can't reach it, without losing anything.
Build it in the Model Builder · 12 min · instant checks
- 9
Ship it: answer Brewly's questions
Put your model, metrics and ontology together and answer the team's real questions.
Knowledge check · 12 min · instant checks
