Skip to main content

02Operational AI Tooling

Incident Triage Copilot

Live incident-triage demo that turns operational context into a validated, structured response with deterministic fallback behavior.

  • Python
  • FastAPI
  • Next.js
  • TypeScript
  • Cloud Run
Ownership
Owned project
Timeline
March – April 2026
Status
Completed public demo
Incident Triage Copilot
Incident Triage Copilot demo form and structured triage brief populated with a sanitized sample incident.

Public demo using a built-in sample; no real incident data.

Overview

A Next.js and FastAPI application that accepts alerts, logs, metrics, deployment notes, service context, and incident descriptions, then produces a structured summary, severity, impacted service, root-cause hypothesis, immediate actions, and confidence.

Problem

Incident responders need fast, consistent triage from messy operational context without depending on unvalidated free-form model output.

My role

Built the typed frontend-to-backend workflow, provider adapters, deterministic heuristic mode, response validation, failure handling, tests, and public deployment.

System architecture

Input

Incident context

Surface

Next.js input surface

Contract

FastAPI contract

Triage

Triage path

Guard

Validation / fallback

Output

Product response

Deploy

Deployment

What I built

  • Structured incident-input form with sample scenarios and input limits.
  • Typed Next.js-to-FastAPI API contract.
  • Frontend validation before response rendering.
  • Deterministic heuristic triage mode.
  • Optional Gemini and Groq provider adapters.
  • Provider timeout and fallback when credentials are absent or output validation fails.
  • Backend pytest coverage, Ruff validation, and a frontend production build.
  • Vercel frontend and Google Cloud Run backend.

Technical decisions

  • Structured outputs rather than unbounded text.
  • Built-in sample incidents so the demo is useful without any real data.
  • Optional model providers, so the demo is not provider-dependent.
  • A deterministic fallback path that runs with no credentials configured.
  • Request-length limits and visible public-data safety guidance.

Testing and validation

  • 16 passing backend tests at the current evidence snapshot.
  • Ruff validation across the backend.
  • Successful frontend production build.
  • Current main CI succeeded.
  • Live public page verified at incidentcopilottriage.com.

Measured evidence

  • 16

    Backend tests passing

    Latest successful main-branch CI run 32055680295 (2026-08-17), rechecked 2026-08-18.

    Point-in-time count, not a live counter.

  • 6

    Structured response fields returned per triage

    Counted from the response schema in the public repository.

A working demonstration that a model-backed triage step can be typed, validated, and degraded safely — the response shape holds whether a provider answers, times out, or is not configured at all.

Limitations

  • Decision support, not an autonomous incident responder.
  • Use sample or sanitized data only.
  • No incident history.
  • No Slack or PagerDuty integration.
  • No team handoff or timeline generation.
  • No published accuracy, user-count, or mean-time-to-resolution metric.

Technology stack

  • Next.js
  • FastAPI
  • Python
  • TypeScript
  • Cloud Run
  • Vercel
  • pytest
  • Ruff

Data and privacy

The interface warns users to submit sample or sanitized input only. No incident data is retained.