We need contributors

Help build open-source video quality monitoring. Apache 2.0 licensed, TypeScript codebase, actively seeking video tech engineers.

View on GitHub

Why we need your help

OpenQoE is 100% open source (Apache 2.0) and actively maintained. We're building the standard for video quality monitoring, but we need more contributors.

Real Production Impact

Your code will be used by video platforms to monitor real viewers. Learn Prometheus, Grafana, and observability at scale.

Modern Tech Stack

TypeScript, Cloudflare Workers, Docker, Prometheus, Grafana. Professional-grade tools and patterns.

Video Industry Expertise

Work with HLS, DASH, ABR algorithms, and streaming protocols. Build expertise in video technology.

Replace Proprietary Tools

Help the industry move away from expensive per-view pricing. Make QoE monitoring accessible to everyone.

100%
Open Source
Apache 2.0
License
TypeScript
Codebase
Actively
Maintained

Architecture overview

Three-tier architecture: browser SDK, edge ingestion, observability backend.

┌─────────────────────────────────────────────────────┐
│              Browser Layer                          │
│                                                      │
│  SDK: TypeScript event collection                   │
│  * Multi-player support (HTML5, Video.js, etc)      │
│  * State machine tracking                           │
│  * Offline queue with retry                         │
│  * Privacy-first hashing                            │
└────────────────────┬────────────────────────────────┘
                     │ HTTPS POST
                     ▼
┌─────────────────────────────────────────────────────┐
│              Edge Layer                             │
│                                                      │
│  Worker: Cloudflare Workers (TypeScript)            │
│  * Event validation & enrichment                    │
│  * Cardinality governance (top-100 rollup)          │
│  * Multi-tenant routing (X-Scope-OrgID)             │
│  * Remote Write to Mimir/Loki                       │
└────────────────────┬────────────────────────────────┘
                     │ Prometheus Remote Write
                     ▼
┌─────────────────────────────────────────────────────┐
│         Observability Layer                         │
│                                                      │
│  Mimir: Prometheus metrics (histograms)             │
│  Loki: Log aggregation (session traces)             │
│  Grafana: Dashboards (4 dashboards, 58 panels)      │
│  * Recording rules (25 pre-aggregations)            │
│  * Alert rules (18 production alerts)               │
└─────────────────────────────────────────────────────┘

Technology stack

TypeScript

  • Strict mode enabled
  • Type-safe SDK and Worker
  • Rollup bundler

Cloudflare Workers

  • Edge runtime
  • Global deployment
  • Event validation

Prometheus

  • Histogram metrics
  • Remote write protocol
  • PromQL queries

Grafana Mimir

  • Scalable TSDB
  • Multi-tenancy
  • Recording rules

Grafana Loki

  • Log aggregation
  • LogQL queries
  • Session traces

Grafana

  • Dashboard provisioning
  • Alert rules
  • Slack/PagerDuty

Docker

  • Compose orchestration
  • Production config
  • Volume management

Video Players

  • HTML5, Video.js
  • HLS.js, dash.js
  • Shaka Player

Actively seeking contributions

OpenQoE is open source and under active development. We need contributors to build the future of video QoE monitoring.

Why we need your help

  • Add support for additional video players (AVPlayer, ExoPlayer, etc.)
  • Enhance existing QoE metrics and create new ones
  • Improve dashboard visualizations and PromQL queries
  • Build integrations with more observability tools
  • Contribute to documentation and examples
  • Report bugs, suggest features, share use cases

GitHub Repository

Apache 2.0 License • TypeScript • Actively Maintained

⭐ Star on GitHub
Fork Repository View Issues Join Discussions

Start contributing

# 1. Fork and clone
git clone https://github.com/YOUR_USERNAME/openqoe-dev.git
cd openqoe-dev

# 2. Install dependencies
cd sdk && npm install
cd ../worker && npm install

# 3. Run local development
cd sdk && npm run dev
cd worker && npm run dev

# 4. Run tests
npm test

✓ Ready to contribute

Good First Issues

Start with beginner-friendly tasks.

  • Add new player adapter
  • Improve documentation
  • Fix TypeScript types
  • Add integration examples

Core Development

Work on critical infrastructure.

  • SDK performance optimization
  • Worker cardinality control
  • New QoE metrics
  • Dashboard improvements

Advanced Features

Build next-generation capabilities.

  • Real User Monitoring (RUM)
  • Advanced ABR analytics
  • Machine learning insights
  • Custom metric plugins

Join the community

GitHub Discussions

Ask questions, share ideas, and discuss features with other contributors.

Join discussions →

GitHub Issues

Report bugs, request features, and track development progress.

Browse issues →

Contributing Guide

Learn how to submit pull requests, coding standards, and development workflow.

Read guide →

Code of Conduct

We're committed to providing a welcoming and inclusive environment for all contributors.

Read code →

Looking for Video Tech Engineers

We're building a community of video engineers who understand HLS, DASH, ABR, CDN optimization, and streaming protocols. If you've worked with video players, encoding pipelines, or CDN infrastructure, your expertise is valuable here.

Contribution areas

Player Adapters

  • Add support for new players
  • Improve existing adapters
  • Add CMCD support
  • Handle edge cases

Metrics & Events

  • Design new QoE metrics
  • Add event types
  • Improve histogram buckets
  • Add derived metrics

Dashboards

  • Create new dashboards
  • Improve visualizations
  • Add drill-down panels
  • Optimize PromQL queries

Infrastructure

  • Kubernetes deployment
  • Terraform modules
  • CI/CD pipelines
  • Performance testing

Documentation

  • Improve getting started
  • Add architecture diagrams
  • Write integration guides
  • Create video tutorials

Testing

  • Unit test coverage
  • Integration tests
  • E2E test scenarios
  • Load testing

Your contributions matter

OpenQoE is actively maintained and needs video tech expertise. Every contribution helps the entire streaming industry.

⭐ Star on GitHub Fork & Contribute