Agentic Delivery  ·  15 Years Fortune-100 BI  ·  Self-Funded

Cannabis Markets
Intelligence
Platform

A production-grade analytics platform, built and run by one person directing a fleet of AI agents. An automated daily-capture pipeline feeds a 92-table Power BI model with 957 measures, plus an AI narrative layer that writes the plain-language read — reconciling 27 data-source families, spread across 50-plus regulator and market endpoints, into one trustworthy picture of the entire US cannabis market every trading day: the five ETFs and vehicles that track it, the operators behind it, and the reform that moves it. It began as a tracker for the market’s single hardest target — a structurally complex, swap-based cannabis ETF — and grew into the whole market.

A self-directed personal project, with no client — a public test case chosen to prove the method. Built without writing a single line of code: every instruction was natural language.

Power BI Semantic Model DAX Python Capture Pipeline Automated Testing Version Control AI Agent Orchestration AI Narrative Layer (Claude) Geospatial Mapping
$1.14B
Category AUM · 5 ETFs
13,129
Dispensaries Geocoded
3,910
Automated Tests
957
DAX Measures · 92 Tables
▶  Interactive Report ●  Live · 6 sections
▶  Open the live report →
6 interactive sections · best viewed on desktop
Live Power BI — use the ‹ › bar to page through all six sections. Self-funded personal project · not investment advice.
01

The Agentic Build

One person built this. Then the automation took over — every trading day it captures, reconciles, models, and refreshes itself, with no one at the keyboard. Under the hood: a 224-module Python pipeline, a 92-table Power BI model with 957 measures, a 27-source reconciliation engine, and an AI narrative layer. How one person built something this size in weeks is the point of this case study: I ran it like an enterprise delivery team — except the team was a fleet of specialized AI agents (ingestion, model & DAX, design, tie-out, validation, research), and I was the orchestrator.

Parallel build agents. Each worked in an isolated workspace, building entire components of the reporting product simultaneously without stepping on each other — the capture pipeline, the semantic model, and the visual layer advancing at once.
Research agents. Ran the deep groundwork in parallel — tracking state and federal cannabis legislation, mapping each operator's regulatory status, and hunting down dispensary registries across roughly 40 states, each with its own regulator, format, and quirks — alongside reporting standards and edge cases, surfacing the swap-conversion behavior before it could surface as a wrong number.
Live model operations. I directed agents to inspect, build, and audit the Power BI semantic model directly — the same way you'd have an engineer review a production system, not a screenshot.
A seven-phase daily orchestration. Every trading day, a dozen fetch agents pull the sources in parallel; curate and reconcile run in sequence; then specialized AI agents write the daily read, the per-company briefs, and the weekly themes — with a separate validation subagent gating every number before it ships.
Grounded AI agents, for tens of dollars a year. Five daily language-model passes and a weekly one (Claude Sonnet and Opus) write the analysis — the daily read, Today's Take, the “why it moved,” per-company briefs, and more — run overnight through Anthropic's Batch API, which halves the cost. Every figure they cite is checked against the reconciled data; anything that can't be grounded is dropped rather than published. Total model spend: on the order of tens of dollars a year.
●  Pure Orchestration
Not one line of this platform was written by hand. The 224-module pipeline, the 92-table model, the 957 measures, every visual on every page — all of it was built by AI agents from natural-language direction. I never wrote the code, never built an ETL stage, never placed a visual by hand. My job was intent, architecture, review, and the go/no-go — the work of directing. That is what “a fleet of AI agents” means here: not autocomplete, not assistance — a production system, purely orchestrated.
02

Tying It Together

It starts with basic, public data — the kind anyone can pull. ETF holdings files, SEC filings, market and short-interest data, dispensary registries across roughly 40 states, a hand-built federal and state legalization timeline, congressional-vote and campaign-finance records, newswires: 27 source families feeding 50-plus regulator and market endpoints, none of them built to agree. The value is in reconciling all of it into one model, where a plain holdings file becomes a complete, day-over-day view of the market. Not new data: ordinary data, reconciled into a view no single feed delivers.

■  ETF Holdings & Facts
The daily holdings file for each of the five cannabis ETFs — each of which overwrites itself with no history — plus published fund facts, the anchor every other source is reconciled against.
■  SEC Filings
N-PORT monthly portfolios, 13F institutional holdings, XBRL company fundamentals, and 8-K / 10-K / 6-K / 40-F event feeds — pulled straight from EDGAR.
■  Market & Short Interest
Underlying and benchmark prices and quotes, plus short interest from FINRA, FINRA Reg SHO daily volumes, and Canada's CIRO — three regulators, two countries.
■  News & Sentiment
Three newswires — GlobeNewswire, PR Newswire, Business Wire — each targeting different holdings, plus a sentiment feed: the catalysts behind the moves.
■  Dispensary Registries — ~40 States
Roughly 40 separate state regulators — each scraped on its own, arriving as JSON, CSV, HTML, and even PDF, then geocoded — normalized into one store-by-store footprint of 13,129 dispensaries.
■  Congress & Campaign Finance
Congressional roll-call votes on cannabis from the U.S. House Clerk, mapped to every sitting member, alongside the campaign-finance money behind them — who votes how, and who funds them.
■  Legal Sales, §280E & Reform
State-by-state legal-sales figures, a hand-built legalization timeline, and §280E tax-burden numbers pulled from each operator's 10-K footnotes — the policy forces priced into the market.
■  Reference & Synthesis
Wikidata company demographics, historical shares outstanding recovered via the Internet Archive's Wayback Machine, and a Claude synthesis layer applied only to numbers already reconciled.
●  Where the Work Is
None of these were built to agree. The hard part isn't fetching them — it's the reconciliation: matching a swap leg to its equity leg, resolving CUSIP and issuer identity across sources, and tying every figure back to the fund's own facts, so one model holds and every number traces to where it came from.
03

The Discipline

This is the part most AI work skips, and it's the whole point. Speed without governance produces confident, wrong numbers. The tracker is built on enterprise-grade controls.

An idempotent pipeline. Re-running it produces byte-identical output, so a change in the numbers is a real change in the data — never an artifact of the pipeline itself.
3,910 automated tests. Every parsing, classification, and tie-out rule is guarded — 3,852 green, 57 amber (shown, not buried), zero red — so a change in upstream behavior surfaces as a failing test rather than a silent error in the numbers.
Continuous audit-drift tracking. The live model is reconciled against its specification, and any drift is flagged and resolved before publish — so the documentation and the running system stay in sync.
A human in the loop on anything ambiguous. Borderline cases are flagged for review, never silently force-classified. A flagged item costs seconds; a wrong number costs a correction.
Defensive parsing. When an upstream file format shifts, the pipeline flags the drift instead of quietly mis-reading it.
An independent validation subagent. Before anything ships, a separate agent re-checks every number, name, color, and format on every page against ground truth and holds a go/no-go gate — the agent that builds a change never certifies its own work.
21 audit gates, across an 11-layer test taxonomy. Capture, parsing, classification, source reconciliation, cross-file checks, fund-facts identities, and the headline numbers all have to pass before a single figure goes out — the report will not publish on red.
A three-date freshness tripwire. Each file's capture time, its server timestamp, and its internal as-of date are cross-checked — any divergence flags a stale or misdated source before it can poison a day. It has caught real missed captures.
The check is public. The platform's own Trust & Proof section publishes the live scorecard — 3,910 tests, 98.5% green, 21 gates, 27 traced source families — so “AI-checked” is something a visitor can inspect, not take on faith.
04

The Product & What It Surfaces

A multi-page Power BI analytics platform — backed by an automated daily-capture pipeline, fully version-controlled, and refreshed on its own every trading day. It is organized as six navigable sections that move from the market down to the mechanics: The Industry, The Vehicle, The Companies, Smart Money, and Trust & Proof, all opening from an Overview home. Its flagship lane is still the hardest one — a structurally complex, swap-based ETF whose true position is disclosed only as a self-overwriting daily file and dozens of filings — but that is now one section of a much larger picture.

The Industry. Where the law stands and where the stores are: a store-by-store map of 13,129 geocoded dispensaries (12,705 US + 424 Canada), legal status across all 51 US jurisdictions (25 adult-use), state-by-state legal sales of roughly $29.6B in 2024, and a “what reform unlocks” model for the day §280E is lifted.
The Vehicle. How the money actually reaches cannabis, across all five ETFs — total-return swaps vs. directly-held shares (65/35 across the category by market value), the swap counterparties, the cash position, and every swap-to-physical conversion as it happens (12.26M shares across five events), the exact event a naive day-over-day read gets wrong. MSOS alone runs 73% swap and reconciles to the cent at $916.4M.
The Companies. The operators behind the tickers: $7.4B in combined revenue (TTM), a scale-vs-profitability scatter, corporate-ownership trees, MSOS-vs-S&P performance, and the multi-state operators whose stores are mapped one by one.
Smart Money. Who's buying and selling — 158 insiders on record selling, 10b5-1 pre-scheduled selling plans tracked to the share, the 13F institutional holder base, and how every sitting member of Congress has voted on cannabis (four landmark House votes; 1,090 yea to 572 nay), tied to the campaign money behind them.
Trust & Proof. The differentiator, made inspectable: a live scorecard of 3,910 automated tests (98.5% green, zero red), 21 audit gates, 27 traced source families, and the AI-agent org chart that runs it all — the product proving its own numbers, in public.
The daily written read. Threaded through every section — Today's Take, per-company briefs, and weekly themes — a grounded, plain-language take on what moved and why, generated each day from the reconciled numbers by Claude, with sources and no invented figures.
05

Why This Market

I built this for a market I invest in. I own MSOS, and the questions that pulled me in are ones the whole sector shares: where the money actually goes, which operators are uplisting or changing exchanges, and what the broader U.S. cannabis market is doing day to day. Those questions surface constantly, with no single good source for the answers — so I built the platform I wanted, and made it sector-wide.

It's also one of the hardest reporting targets I could find. These operators are federally illegal under Schedule I, so exchanges won't list them and U.S. custodians won't hold their shares — the ETFs reach them through a mix of total-return swaps and directly-held shares. The funds disclose all of it, every day — but it lands as a spreadsheet that overwrites itself with no history, where the same company can appear in a swap line and an equity line at once. The raw truth is public; what's missing is a way to see it — a naive day-over-day read of that file misreads a swap-to-physical conversion as two trades that never happened.

What the platform gives you is the picture the disclosures don't: how a dollar travels — from your account, into a fund, through the swap or the shares, and out to a federally-illegal operator you couldn't buy directly. And it's a moving target: as rescheduling progresses and these operators become custody-eligible, the funds convert swaps into real shares, name by name — every conversion tracked as it happens.

●  The Point
I built this because I wanted it to exist — real transparency on a market I invest in, where the questions are only getting louder. It was also where I learned to direct a fleet of AI agents to build production Power BI at this depth — a capability barely a couple of months old. That it doubles as proof of a method that holds on a brutally hard target is the part that travels.
06

Why This Matters for Your Business

The fund is my problem to solve. The method behind it is what transfers to yours.

I can stand up trustworthy, automated reporting for your business — fast, to a standard you'd be comfortable putting your name on — because I deliver with a team of agents and the governance to keep them honest.

Book a Discovery Call →