Learn by Directing AI
Chat with your clientAsk questions, get feedback, discuss the project

The Brief

Carmen Reyes co-founded Bona Lluna Cervesa, a craft brewery outside Barcelona. Twenty-five employees, twelve beer styles, three sales channels: a taproom with a POS system, distribution to forty-five bars and restaurants across Catalonia, and an online shop on WooCommerce.

Revenue is up. The problem is nobody can agree on the numbers. Carmen's head brewer says Pale Ale is the top seller. Her sales manager says it's the IPA. They're probably both right -- in their own channel -- but nobody counts the same way. The taproom counts pints. Distribution counts kegs. Online counts bottles. "Revenue" means three different things depending on which system you look at.

Carmen wants one source of truth. A dashboard she checks every Monday morning that shows what sold, where, and what's trending. She wants filters so she can drill into channels and beer styles. And she wants her sales manager to use it without calling her for help.

Your Role

You're building Carmen's dashboard. Same tools as last time, plus two new ones: Docker and Metabase. Docker runs the dashboard platform. Metabase is where you build the dashboard itself -- a BI tool instead of matplotlib code.

The shift matters. You've been writing Python chart code. Now you're configuring a platform. The analytical concerns transfer -- chart type, data verification, stakeholder needs -- but the working relationship with AI changes because you're directing it to configure a tool, not write scripts.

Your verification toolkit grows too. Last time you used AI self-review. This time, you also direct a second AI to cross-check your metric definitions -- fresh eyes on the most consequential decisions in the project.

What's New

Last time, you authored metric definitions for the first time and cleaned messy data across three sources. You learned what it means to define "revenue" and document every cleaning decision.

This time, three systems define "revenue" differently and you have to reconcile them into one governed definition before anything else can happen. The reconciliation is the foundation. Every chart on the dashboard inherits whatever definition you choose.

The dashboard is a new medium. You've built charts in Jupyter. Metabase is a different paradigm: configuration instead of code. The underlying concerns are the same; the way you work with AI changes.

The hard part is consistency. A dashboard where two panels show different revenue numbers because they use different SQL behind the scenes destroys trust. Carmen won't know which number to believe -- and neither will her sales manager.

Tools

  • Python 3.11+ (via Miniconda, "analytics" environment)
  • DuckDB
  • Jupyter Notebook
  • pandas
  • matplotlib / seaborn (for exploratory analysis)
  • Metabase (new -- BI dashboard platform, via Docker)
  • Docker (new -- runs Metabase)
  • Claude Code
  • Git / GitHub

Materials

  • Four data files -- taproom POS transactions, distribution invoices, WooCommerce orders, and a product catalog with canonical names and costs per liter. The product names are different in every system.
  • Analysis template -- sections for data quality assessment, metric definitions, segmentation findings, and cleaning decisions. You fill it in as you work.
  • Dashboard layout template -- guidance on where KPIs, trends, and breakdowns go on the dashboard.
  • Docker Compose file -- starts Metabase with one command.
  • CLAUDE.md -- project governance file with client context, work breakdown, and verification targets.