Skip to content

sirusdas/quantium-dashboard

Repository files navigation

Quantum Telemetry Dashboard

Python 3.11+ React 19 FastAPI License

Quantum Telemetry Dashboard is a production-grade quantum control and telemetry visualization platform designed for real-time monitoring of cryogenic systems. It combines a high-fidelity physics simulator with a high-performance frontend to train physicists and validate control systems before deployment with actual quantum hardware.

Quantium_Dashboard

✨ Key Features

🔬 Physics Simulation Engine

  • 128-channel simultaneous simulation at 50Hz sustained rate (6,400 samples/sec)
  • Advanced noise models: Ornstein-Uhlenbeck (thermal drift), Lorentzian charge noise, Hyperfine 1/f² noise, TLS 1/f noise, Johnson noise
  • Spatial correlation via Cholesky decomposition simulating real sensor crosstalk
  • 12+ anomaly types: Quench, PLL unlock, EMI burst, Flux creep, Ground loop, and more

📊 High-Performance Visualization

  • 60fps rendering with Canvas 2D and uPlot
  • Ribbon Heatmap: 128-channel time-series heatmap with GPU-accelerated scrolling
  • Real-time Charts: Time-series line charts with LTTB downsampling
  • Spectrum Analyzer: FFT visualization for frequency analysis
  • CryoStack: Animated thermal gauge display for 4K, 1K, Cold Plate, and Mixing Chamber stages

🛡️ Production-Grade Architecture

  • Docker Compose orchestration with health checks
  • WebSocket real-time streaming with binary Protobuf serialization
  • JWT authentication with 15-minute expiry
  • TimescaleDB for time-series storage with automatic compression
  • Redis for message queuing and backpressure handling

🏗️ Architecture Overview

┌─────────────────────────────────────────────────────────────────────┐
│                         User / Browser                               │
│                    (React SPA + uPlot + Canvas)                     │
└──────────────────────────────┬──────────────────────────────────────┘
                               │
                               │ WebSocket (Protobuf)
                               ▼
┌─────────────────────────────────────────────────────────────────────┐
│                        Backend (FastAPI)                             │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐  │
│  │  Physics    │→ │ Correlation │→ │ Calibration │→ │  Broadcast  │  │
│  │  Simulator  │  │   Matrix    │  │   Engine    │  │   (WS)      │  │
│  └─────────────┘  └─────────────┘  └─────────────┘  └─────────────┘  │
│         │                │                │                │        │
│         └────────────────┴────────┬───────┴────────────────┘        │
│                                   ▼                                  │
│                    ┌───────────────────────────┐                     │
│                    │   Redis Pub/Sub + Streams │                     │
│                    └────────────┬──────────────┘                     │
│                                   │                                  │
│                    ┌──────────────▼──────────────┐                   │
│                    │      TimescaleDB            │                   │
│                    │   (Time-series storage)     │                   │
│                    └─────────────────────────────┘                   │
└─────────────────────────────────────────────────────────────────────┘

🛠️ Technology Stack

Layer Technology Purpose
Frontend React 19 + TypeScript UI Framework
Frontend Vite Build tool with HMR
Frontend uPlot Canvas-based charting
Frontend Zustand State management
Frontend Framer Motion Animation library
Backend Python 3.11 Runtime
Backend FastAPI Web framework
Backend NumPy Vectorized physics simulation
Protocol Protobuf Binary serialization
Database TimescaleDB Time-series storage
Broker Redis Message queue
Proxy Nginx WebSocket upgrade, SSL
Container Docker Compose Orchestration

🚀 Getting Started

Prerequisites

  • Docker (20.10+) with Docker Compose
  • Python 3.11+ (for local development)
  • Node.js 20+ (for frontend development)
  • Port availability: 80, 8000, 5432, 6379

Quick Start (Docker)

# Clone the repository
git clone https://github.com/sirusdas/quantium-dashboard.git
cd quantium-dashboard

# Start the complete stack
docker-compose up --build

# Access the dashboard
# Frontend: http://localhost
# Backend API: http://localhost:8000
# API Docs: http://localhost:8000/docs

Development Setup

Backend

cd backend

# Create virtual environment
python -m venv venv
source venv/bin/activate  # Linux/Mac
# or: venv\Scripts\activate  # Windows

# Install dependencies
pip install -r requirements.txt

# Run the server
python -m uvicorn main:app --reload --port 8000

Frontend

cd frontend

# Install dependencies
npm install

# Start development server
npm run dev

Environment Variables

The application uses the following environment variables (configured in docker-compose.yml):

Variable Default Description
REDIS_URL redis://redis:6379 Redis connection string
TIMESCALE_URL postgres://postgres:password@timescaledb:5432/telemetry TimescaleDB connection

📁 Project Structure

quantium-dashboard/
├── backend/                    # Python FastAPI Backend
│   ├── config/                 # Configuration loaders
│   ├── db/                     # TimescaleDB connection
│   ├── models/                 # Pydantic models
│   ├── pipeline/               # Data processing (calibration)
│   ├── simulator/              # Physics engine
│   │   ├── physics.py          # Noise generation
│   │   ├── correlation.py     # Spatial correlation
│   │   └── anomalies.py        # Fault injection
│   ├── transport/             # WebSocket & Redis
│   ├── auth.py                # JWT authentication
│   ├── audit.py               # Audit logging
│   └── main.py                # Telemetry loop (50Hz)
├── frontend/                   # React + Vite Frontend
│   ├── src/
│   │   ├── components/        # UI components
│   │   │   ├── CryoStack.tsx  # Thermal gauges
│   │   │   ├── RealtimeChart.tsx  # uPlot chart
│   │   │   ├── RibbonHeatmap.tsx  # Canvas heatmap
│   │   │   └── SpectrumAnalyzer.tsx
│   │   ├── hooks/             # React hooks
│   │   ├── workers/           # Web Workers
│   │   ├── store/             # Zustand stores
│   │   └── proto/             # Generated Protobuf
│   └── package.json
├── proto/                      # Protocol Buffer definitions
│   └── telemetry.proto
├── docker-compose.yml          # Container orchestration
├── nginx.conf                  # Reverse proxy config
├── Dockerfile.backend         # Backend container
├── Dockerfile.frontend        # Frontend container
└── architecture/              # Detailed documentation

📡 API Reference

Authentication

Endpoint Method Description
/api/v1/auth/login POST JWT token login
/api/v1/auth/me GET Current user info

Telemetry

Endpoint Method Description
/ws WebSocket Real-time telemetry stream
/api/v1/telemetry/status GET Connection status

Anomaly Injection

Endpoint Method Description
/api/v1/inject/anomaly POST Inject fault condition

Example Anomaly Request:

{
  "type": "quench",
  "target_channels": [0, 1, 2],
  "spatial_pattern": "zone",
  "severity": 0.8,
  "duration_ms": 5000
}

⚡ Performance Targets

Metric Target Actual
Streaming Rate 128 ch × 50Hz 50Hz sustained
UI Framerate 60 fps 60fps
Latency (E2E) <100ms <100ms
CPU (simulator) <30% ~20%
Memory Growth O(1) Constant (circular buffers)

🔐 Security

  • JWT authentication with RS256 signing
  • WebSocket origin validation
  • Structured JSON audit logging
  • Data integrity via per-sample checksums
  • TLS-ready (Nginx terminates SSL)

📖 Documentation

Detailed architecture documentation is available in the architecture/ directory:

🧪 Testing

# Physics validation (KS tests)
cd tests
python test_physics.py

# Load testing
cd tests
node test_physics.py

🤝 Contributing

Contributions are welcome! Please read our contributing guidelines before submitting PRs.

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes with tests
  4. Submit a pull request

📄 License

MIT License - See LICENSE for details.

🙏 Acknowledgments

Built with contributions from the quantum computing research community. Designed to meet the rigorous requirements of production-grade quantum control facilities.


Production-Grade Quantum Telemetry
Built for physicists, by engineer

Releases

No releases published

Packages

 
 
 

Contributors