Enterprise
Data Engineering
AI & ML
Analytics

From 500 Dashboards to Self-Service: AI-Driven BI Migration and Autonomous Analytics

How an enterprise replaced a bottlenecked BI platform with AI-migrated dashboards and self-service analytics agents — in under five months

TZ

Tony Zeljkovic

2026-04-06

Case study

An enterprise with 500+ Looker dashboards faced week-long turnaround times and a 3-month p95 backlog. Narona Data led an AI-driven migration to Streamlit on Snowflake and built 12 self-service analytics agents — cutting tech costs 30%, headcount costs 50%, and increasing data capacity 5x.

Industry
Enterprise
Duration
~4–5 months
Stack
Looker (source), Streamlit on Snowflake (target), Snowflake Cortex, Claude Code, MCP, headless browser automation
Compliance
HIPAA/HITECH, SOC2
30% tech cost reduction
50% headcount cost reduction
5x data capacity
turnaround from weeks to minutes

Discovery

Metadata Inventory and Translation Layer

The engagement began with a comprehensive extraction of the entire Looker instance — every dashboard, look, board, usage statistic, scheduled export, calculated field, filter, and configuration setting. In parallel, the team mapped which Snowflake data models each asset queried.

This produced a complete metadata replica of the BI platform: the foundation for automated migration, verification, and the downstream semantic layer.

With the inventory complete, the team designed a translation layer mapping every Looker component to an equivalent custom Streamlit component — defining what the AI pipeline would target.

Key Inputs

  • 500+ Looker dashboards with full metadata extraction
  • Snowflake data model usage mapped to each BI asset
  • Component-level translation layer from Looker to Streamlit
  • HIPAA/HITECH and SOC2 compliance requirements scoped
Week 1-2Metadata InventoryComplete extraction of 500+ Looker dashboards, looks, boards, usage stats, filters, calculated fields, and Snowflake model mappings

Result unlocked here

500+ dashboards, looks, boards, schedules, filters, and calculated fields became one migration source of truth.
Snowflake model usage was mapped before any rebuild work started.
Week 2-3Translation LayerComponent-by-component mapping from Looker to custom Streamlit equivalents on Snowflake

Result unlocked here

Every Looker interaction had a defined Streamlit target before the AI pipeline started generating apps.
Compliance constraints were designed into the migration approach rather than checked after the fact.

Build

AI-Driven Migration Pipeline

The core intervention was an LLM-driven pipeline using Claude Code to automatically translate Looker dashboards into Streamlit applications. Starting from a 10% zero-shot rate with small batches, the team iterated over several weeks — restructuring session architecture, developing compact context encodings informed by Anthropic's research on long-running LLM applications, and increasing pipeline modularity from 3 to 12 parallel steps.

Throughput management proved critical: migrating 100 dashboards concurrently degraded quality versus batches of 50, so the team introduced rate limiting to keep migrations autonomous while preserving accuracy. The final zero-shot rate reached 65%.

Verification

Two layers protected migration quality:

  • SQL verification via an MCP server on Snowflake, enabling query validation through Claude Code and Cursor
  • Visual verification via headless browser automation, comparing Looker filter interactions against Streamlit equivalents

All 500+ assets were migrated within two to three weeks of active migration.

Week 3-5Component Library & TestsStandardized Streamlit components with extensive test suite for correctness and performance

Result unlocked here

Reusable Streamlit components made generated dashboards consistent instead of one-off rewrites.
The test suite gave the migration pipeline stable building blocks to compose from.
Week 3-4Snowflake MCP ServerMCP server enabling SQL verification through Claude Code, Cursor, and other LLM frameworks

Result unlocked here

SQL checks moved into the developer loop through Snowflake MCP access.
Claude Code, Cursor, and other tools could verify generated queries against the real warehouse.
Week 5-10AI Migration PipelineLLM-driven migration using Claude Code — iterated from 10% to 65% zero-shot rate with modular 12-step parallel architecture

Result unlocked here

Zero-shot dashboard migration improved from roughly 10% to 65%.
A 12-step parallel architecture kept quality higher than brute-force bulk generation.
Week 6-10Multi-Modal VerificationHeadless browser automation comparing Looker filter interactions against Streamlit equivalents for visual verification

Result unlocked here

Browser automation compared Looker filters and visuals against the Streamlit equivalents.
All 500+ assets were migrated within two to three weeks of active migration work.
Week 11-16Semantic Layer & Cortex Agents1,000–2,000 verified queries transformed into semantic layer powering 12 domain-driven self-service Cortex agents

Result unlocked here

1,000–2,000 verified query patterns became the foundation for self-service analytics.
12 domain-specific Cortex agents answered business questions directly from validated history.

Enable

Week 10-13Phased User MigrationStepwise training and Looker deactivation across business teams to prevent thundering-herd cutover

Result unlocked here

Business teams moved in waves instead of facing a single contract-deadline cutover.
Training and Looker deactivation happened together, which protected adoption.
Week 14-18Evaluation & Auto-EvolutionTracking system with automated daily PRs extending the semantic layer based on usage gaps

Result unlocked here

Usage gaps generated daily pull requests to improve the semantic layer.
The platform kept learning from real business sessions after launch.

Deliver

Self-Service Analytics and Platform Handoff

With migration complete, Narona Data transformed the Looker metadata into a semantic layer for 12 domain-driven Cortex agents on the Snowflake Intelligence platform. Approximately 1,000–2,000 verified queries — each representing a real business question answered by a validated analyst query — trained these agents.

An evaluation system tracked inquiry volume, session frequency, and duration. An automated daily PR process extended the semantic layer based on gaps identified from experienced user sessions, ensuring the platform evolved with use.

Measured Outcomes

  • 30% technology cost reduction
  • 50% headcount cost reduction
  • 5x increase in data asks handled
  • Dashboard turnaround from weeks to minutes
  • 12 self-service analytics agents live across business domains
  • Derived data products including improved PHI catalogs
Week 18-20ResultPlatform Live30% tech cost reduction, 50% headcount cost reduction, 5x data capacity, turnaround from weeks to minutes

Result unlocked here

30% technology cost reduction.
50% headcount cost reduction.
5x more data asks handled, with turnaround moving from weeks to minutes.

Closing readout

The migration became a self-service analytics platform.

The dashboard migration removed the immediate Looker cost and backlog pressure. The metadata captured along the way became the stronger asset: a verified semantic layer and agent loop that keeps improving with actual stakeholder use.

Talk through a similar migration