Quality Studio Demo
Complete guide for the Baselinr Quality Studio demo deployment on Cloudflare Pages.
Overview
The Quality Studio demo is a fully functional version that runs entirely on Cloudflare Pages using pre-generated data, with no database dependencies. This provides a fast, zero-cost demo environment for showcasing all features.
Live Demo URL: https://demo.baselinr.io
Documentation
Getting Started
- Demo Mode Quick Start - Enable and use demo mode locally
- Demo Deployment Guide - Complete phased deployment approach
Technical Details
- Demo Data Service - DemoDataService API documentation and usage
- Demo Data Structure - JSON data format and structure
Quick Links
For Users
For Developers
For Deployment
Features
✅ What's Included
- 120 profiling runs across 4 warehouses
- 582 column-level metrics with realistic distributions
- 54 drift detection events with varying severity
- 95 unique tables across multiple schemas
- 156 validation results with 81% pass rate
- Full lineage graph with 16 nodes and 14 edges
✅ What Works
- All data endpoints (runs, tables, drift, validation)
- Filtering, sorting, and pagination
- Dashboard metrics and KPIs
- Drift detection and alerts
- Validation results and summaries
- Table overview and metrics
- Quality scores and trends
- Performance: <5ms response times (Cloudflare Pages Functions)
❌ What's Disabled
- RCA routes (requires database)
- Chat routes (requires database)
- Write operations (read-only demo)
- Configuration saving (demo is read-only)
Demo Limitations
The demo runs in read-only mode with the following limitations:
- No data persistence: All changes are temporary and reset on page refresh
- Pre-generated data: Uses static JSON files, not a live database
- No write operations: Cannot save configurations or make changes
- No chat/RCA: AI-powered features require database backend
- Sample data only: Data is realistic but not from a real warehouse
These limitations are intentional to provide a fast, zero-cost demo experience.
Architecture
The demo uses a serverless architecture on Cloudflare Pages:
Next.js Frontend (Static Export)
↓
Cloudflare Pages Functions
↓
DemoDataService (TypeScript)
↓
JSON Files (static assets in /demo_data/)
Deployment:
- Hosting: Cloudflare Pages (free tier)
- Functions: Cloudflare Pages Functions (serverless)
- Data: Static JSON files served from
/demo_data/ - Custom Domain: demo.baselinr.io
Performance
- Initialization: 4.5ms
- Average query: 0.59ms
- Max query: 4.5ms
- 10-40x faster than database mode
Data Generation
Demo data is generated using generate_demo_data.py:
cd dashboard/backend
python generate_demo_data.py
This creates fresh demo data with:
- Realistic distributions
- Validated consistency
- Complete coverage of all features
Testing
Integration Tests
cd dashboard/backend
python test_demo_mode_integration.py
Unit Tests
pytest test_demo_data_service.py -v
Performance Benchmarks
python benchmark_demo_service.py
Deployment Status
Phase 1: Demo Data Generation ✓
- Created
generate_demo_data.py - Generated 7 JSON files with demo data
- Validated data consistency
- Documentation complete
Phase 2: Demo Data Service ✓
- Implemented
DemoDataServiceclass (18 methods) - Comprehensive unit tests (40+ tests)
- Performance benchmarks (<5ms queries)
- API documentation complete
Phase 3: Backend Integration ✓
- Updated
main.pywith demo mode support - Added
/api/demo/infoendpoint - Extended CORS for demo domain
- Integration tests passing
Phase 4: Cloudflare Pages Functions ✓
- Convert routes to Pages Functions
- Deploy with demo data
- Configure custom domain
- Implement demo-data-service for Cloudflare Pages
Phase 5: Frontend Configuration ✓
- Update Next.js for Cloudflare Pages (static export)
- Add demo mode indicators
- Configure API client for Pages Functions
Phase 6: Cloudflare Deployment ✓
- Deploy to Cloudflare Pages
- Configure custom domain (demo.baselinr.io)
- Set up environment variables
- Verify all endpoints working
Phase 7: Documentation & Website Integration ✓
- Update website navbar with demo link
- Update website footer with demo link
- Create/update demo documentation
- Update README with demo info
Support
For questions or issues:
- Check the relevant documentation above
- Run integration tests to verify setup
- Review logs for error messages
- See Troubleshooting