From end-of-run reports to test observability
Traditional test reports summarize results after a run completes. Observer receives test events during execution, so teams can follow progress as it happens, inspect failures in context, and compare behavior across runs.
Follow runs live
Track run and test status while the suite is executing, with timing and CI metadata alongside the results.
Investigate each attempt
Move from run summaries into test attempts, nested steps, durations, failures, and attached evidence.
Test Analytics
Review execution duration and outcomes across runs to spot changes in test behavior over time.
Connect your pipeline
Use the Playwright reporter today. Pytest and Mocha reporter work is in progress.
See the run, then inspect the test
Explore a run list and a detailed test execution view from the public demo. The screenshots show sample product data.


How Observer works
Test events flow through a durable processing pipeline. PostgreSQL stores run data for API queries; MongoDB is limited to buffering in-flight steps.
graph LR
Tests[Playwright tests] --> Reporter[Playwright reporter]
Reporter -->|gRPC events| Ingestion[gRPC ingestion]
Ingestion --> NATS[NATS JetStream]
NATS --> Processor[Processor]
Processor -->|Durable run data| PostgreSQL[(PostgreSQL)]
Processor -->|In-flight steps| MongoDB[(MongoDB buffer)]
PostgreSQL --> API[API and WebSocket]
NATS -.->|Live event relay| API
API --> UI[Observer web UI]