From failed check to trusted customer update without losing the thread.

DevRelay connects monitoring, incident coordination, and public communication in one calm, production-oriented workflow.

Free hosted demo · Seeded data · No credit card or paid service required

app.devrelay.dev/acme/incidents/inc_01

Partial outage

ACTIVE INCIDENT · SEV-2

API requests returning elevated 5xx errors

Started 18 minutes ago · API Gateway and Checkout affected

  1. Monitoring recovery

    Error rate is declining after traffic shifted to the healthy pool.

  2. Public update delivered

    1,248 subscribers notified; webhook delivery is complete.

  3. Incident confirmed

    Three consecutive failed checks crossed the service policy.

Customer communication
Latest public update
We have shifted traffic and are seeing recovery. We continue to monitor.
Delivery health
99.92%
Notifications delivered within 30 seconds.

Move deliberately from signal to learning.

Each stage preserves the evidence the next one needs.

  1. 01

    Monitor

    Run policy-based checks on a predictable cadence.

  2. 02

    Confirm

    Require consecutive evidence before opening an incident.

  3. 03

    Coordinate

    Keep transitions, evidence, and internal context in one timeline.

  4. 04

    Communicate

    Publish clear updates and deliver them with retry safety.

  5. 05

    Learn

    Turn resolved incidents into durable postmortems and actions.

Failure modes are designed, tested, and visible.

Idempotent by default

Stable event and delivery keys prevent duplicate incidents and notifications.

Retry-safe delivery

Outbox-backed fan-out records every attempt without repeating successful work.

Recoverable workers

Leases, heartbeats, and stale-work reclamation keep processing moving.

Auditable changes

Immutable actor, target, source, and safe metadata records explain every decision.

The right amount of context for each audience.

Operations dashboard
Service health, check freshness, active incidents, latency, and upcoming maintenance.
Incident command console
Authoritative timeline, explicit public/private composers, evidence, delivery, and transitions.
Public status
Mobile-first health, active incident updates, service history, maintenance, and subscriptions.

Clear boundaries from request to recovery.

A Next.js application and NestJS API share versioned contracts. PostgreSQL owns durable state, while queue-backed workers execute checks and delivery with leases, retries, and idempotency.

Read the source

Web application

Next.js · React · accessible server-rendered surfaces

Application API

NestJS · validation · authorization · domain services

Durable state

PostgreSQL · Drizzle · constraints · transactions

Asynchronous work

Queues · leases · retry policy · webhooks

See the complete incident lifecycle in the seeded demo.

Explore healthy, degraded, outage, stale, delivery, and recovery states without connecting an external service.

Open DevRelay