AI service desk demoLive operations workspace
Demo data
Demo mode0 credsSeeded state, no paid cloud services
Async jobs7pg-boss job contracts mapped
Contract surfaces3Events, webhooks, and AI runs
Deploy checks4Unit, typecheck, build, e2e

Demo mode vs local/prod mode

What is simulated on Netlify and what changes when infrastructure is enabled.

BoundaryHosted demoLocal/prod path
Data storeSeeded TypeScript state + cookie replayPostgres, pgvector, Drizzle migrations, backups
JobsStatic contract simulatorpg-boss workers with retry, DLQ, and idempotency
EventsKafka/Redpanda-shaped envelopes on screenRedpanda or MSK topics with schema compatibility checks
SearchDeterministic in-memory selectorsOpenSearch lexical/vector hybrid retrieval
GraphRelationship panel in knowledge routeNeo4j or Postgres graph projection for investigations
ObservabilityDemo trace view in WatchtowerOTLP/JSON trace payloads from Watchtower spans

Serverless AWS path

  1. Edge entryNetlify or CloudFront routes React Router requests and keeps intake fast.
  2. Async queueSQS or EventBridge receives ticket lifecycle and AI action events.
  3. WorkersLambda runs triage, document extraction, retrieval, and webhook delivery.
  4. PersistenceRDS Postgres keeps tickets, ai_runs, audit events, and pgvector knowledge chunks.
  5. SearchOpenSearch indexes playbooks, tickets, uploaded documents, and AI run metadata.

CI/CD and test gates

  1. Pull requestTypeScript, unit tests, route smoke tests, schema diff check
  2. Preview deploySeeded demo data, no paid credentials, deterministic session replay
  3. Release gatePlaywright smoke suite, AI fixture regression pack, accessibility snapshot
  4. Production deployMigrations first, workers after schema, canary webhook endpoints

IaC and container boundary

  1. Terraform ownsVPC, RDS, queues/topics, OpenSearch, secrets, IAM, alarms
  2. App deploy ownsReact Router bundle, worker image, env-specific feature flags
  3. Kubernetes optionRun web, worker, and replay services as separate deployments with HPA
  4. SecretsWebhook HMAC keys rotate by version and are never exposed in payloads

Data contracts make the demo reviewable.

event

ticket.lifecycle.v2

Service desk platform · version 2.1.0 · linked ticket tkt-wifi

ticketId: string requiredcorrelationId: string requiredpriority: enum requiredriskFlags: string[] optional
event

ai.action.v1

AI Watchtower · version 1.4.0 · linked ticket tkt-cctv

aiRunId: string requiredpromptVersion: string requiredconfidence: number requiredapprovalStatus: enum required
webhook

webhook.delivery.v1

Integrations · version 1.0.0 · linked ticket tkt-invoice

eventId: string requiredtimestamp: iso8601 requiredsignature: hmac-sha256 requireddeliveryAttempt: number required
React Router appKept as an explicit boundary so a reviewer can map demo behavior to production infrastructure.
Postgres + pgvectorKept as an explicit boundary so a reviewer can map demo behavior to production infrastructure.
Queue workersKept as an explicit boundary so a reviewer can map demo behavior to production infrastructure.
Events/webhooksKept as an explicit boundary so a reviewer can map demo behavior to production infrastructure.

Production next is tracked as implementation work.

Auth/RBACAdd tenant-scoped sessions and roles for operator, manager, auditor, and integration admin.
OpenTelemetryImplemented adapter work maps Watchtower traces to OTLP/JSON using OTEL_EXPORTER_OTLP_* config.
EvalsBroaden fixture packs for policy gates, retrieval citations, template routing, and regression thresholds.
Queue retriesPromote pg-boss contracts into workers with exponential backoff, DLQ replay, and idempotency checks.
Customer configPersist customer-specific channels, templates, SLA rules, risk settings, and webhook destinations.