flowchart LR
A[1\nRequirements\nCapture] --> B[2\nSchema\nExploration]
B --> C[3\nData\nPreview]
C --> D[4\nAI Visual\nBuilder]
D --> E[5\nValidation\nChecks]
E --> F[6\nSign-Off\nGate]
F --> G[7\nPower BI\nConversion]
style D fill:#3B82F6,color:#fff
style F fill:#10B981,color:#fff
style G fill:#F59E0B,color:#fff
Streamline — BI Visual Development Pipeline
A 7-stage AI-assisted pipeline that takes a dashboard visual from requirements to production Power BI in a structured, validated workflow
Streamline — BI Visual Development Pipeline
Role: Architect & Lead Developer · Organization: Select Water Services — BI Team · Status: Active Build Target
The Problem
The BI team at Select Water builds dashboard visuals constantly — for executives, operations, field teams, and finance. But the path from “stakeholder wants a visual” to “visual is live in Power BI” was inconsistent, slow, and dependent on individual effort:
- No standardized workflow — each analyst took a different path from requirements to delivery, with no consistent quality checkpoints
- Disconnected from live data — visuals were built against assumptions about the data, not validated against actual Postgres results during development
- Manual Power BI conversion — getting a visual from development into Power BI required manual steps that varied by analyst and often introduced errors
- No formal sign-off gate — visuals moved from dev to production without a structured review and approval process
- Context switching overhead — analysts had to jump between dbt schema docs, database clients, and BI tools to piece together what they needed
The Solution
Streamline is a 7-stage pipeline that takes a dashboard visual from initial requirements all the way to a production-ready Power BI artifact — with AI assistance, live data validation, and a formal sign-off gate built in at every stage.
The 7-Stage Pipeline
Stage 1 — Requirements Capture
Stakeholder requirements are entered in a structured form: visual type, KPIs to display, data source, filters, audience, and acceptance criteria. This becomes the brief that guides every subsequent stage.
Stage 2 — Schema Exploration
Streamline auto-loads dbt schema.yml files from all 8 sws_bi_projects repositories on startup. Analysts can browse column definitions, table relationships, and documented business logic without leaving the tool — eliminating the context-switching overhead of digging through dbt docs separately.
Stage 3 — Live Data Preview
Before building anything, analysts can run parameterized queries against the PostgreSQL read-only replica to see actual data shapes, value distributions, and record counts. This catches data mismatches before they become design problems.
Stage 4 — AI Visual Builder
Claude generates HTML/CSS/JavaScript visuals (Chart.js-based) from the requirements brief and schema context. Analysts can iterate with plain English feedback — “make the bars grouped by region,” “add a trend line” — and the AI updates the visual in real time.
Stage 5 — Automated Validation
Every generated visual passes through automated checks before it can move to sign-off:
- Column alignment — referenced columns exist in the dbt schema
- Design token compliance — colors, fonts, and spacing match the Select Water design system
- Structure validation — visual renders correctly across standard viewport sizes
- Data binding verification — DAX measure references resolve against the target data model
Stage 6 — Formal Sign-Off Gate
Analysts submit the visual for review. Reviewers (lead analysts or BI manager) can approve, request changes, or reject with written feedback. Nothing moves to production without an explicit approval — creating a clear audit trail for every visual.
Stage 7 — Power BI Conversion
Approved visuals are automatically converted to Power BI-safe format:
- HTML output optimized for the Power BI HTML Content visual
- Companion DAX measures generated for all calculated fields
- TOM (Tabular Object Model) deployment scripts for model modifications
- Documented handoff package for the Power BI developer
Technical Stack
| Component | Technology | Purpose |
|---|---|---|
| Frontend | React + Vite | Pipeline UI, visual builder, dashboard hub |
| Backend | Express.js (Node) | API layer, session management, file handling |
| AI Engine | Claude API (claude-sonnet-4-6) | Visual generation, iteration, schema interpretation |
| Database | PostgreSQL (read-only) | Live data preview and validation queries |
| Schema Context | dbt schema.yml (8 repos) | Column definitions loaded on startup |
| Orchestration | Dagster | Pipeline status visibility |
| Deployment | Docker Compose | Containerized local/team deployment |
| Output | Power BI HTML Content visual | Production deployment target |
Key Skills Demonstrated
Workflow Design
End-to-end pipeline design with structured stages, automated validation, and a formal sign-off gate — turning ad-hoc development into a repeatable process
AI-Assisted Development
Claude API integration for visual generation and iteration — with schema context injection and live data grounding to produce accurate, not just plausible, results
Power BI Architecture
Deep understanding of the Power BI HTML Content visual, DAX measure generation, and TOM deployment — enabling full-stack BI delivery
Full-Stack Engineering
React + Express + Docker stack built for team deployment, with dbt schema auto-loading and PostgreSQL integration across all 8 BI project repos