PPTX.gallery
Open in PPTX.dev
narrativesfailure-analysispostmortemapi

Overview

When something goes wrong, a clear failure analysis presentation turns a setback into organizational learning. The pptx.dev API's failure-analysis narrative structures your post-mortem into a professional deck.

The Failure Analysis Structure

  1. Incident — outline the failure timeline and impact
  2. Root Cause — identify root causes with evidence

Example: Service Outage Post-Mortem

{
  "$schema": "https://openpresentation.org/schema/opf/v1",
  "name": "March 15 Outage — Post-Mortem",
  "slides": [
    {
      "layout": "title-center",
      "title": "Service Outage Post-Mortem",
      "subtitle": "March 15, 2026 — 14:30 to 17:45 UTC",
      "design": {
        "titleAlignment": "center"
      }
    },
    {
      "layout": "number-3x-title-center",
      "title": "Impact Summary",
      "blocks": [
        {
          "metric": {
            "value": "3h 15m",
            "label": "Total Downtime"
          }
        },
        {
          "metric": {
            "value": "12,400",
            "label": "Affected Users"
          }
        },
        {
          "metric": {
            "value": "$45K",
            "label": "Estimated Revenue Loss"
          }
        }
      ],
      "design": {
        "titleAlignment": "center",
        "contentAlignment": "center"
      }
    },
    {
      "layout": "list-4x-vertical-title-center",
      "title": "Incident Timeline",
      "blocks": [
        {
          "items": [
            {
              "text": "14:30 UTC",
              "description": "Monitoring alerts fire for API latency spike"
            }
          ]
        },
        {
          "items": [
            {
              "text": "14:45 UTC",
              "description": "On-call engineer begins investigation"
            }
          ]
        },
        {
          "items": [
            {
              "text": "15:30 UTC",
              "description": "Root cause identified: database connection pool exhaustion"
            }
          ]
        },
        {
          "items": [
            {
              "text": "17:45 UTC",
              "description": "Service fully restored after connection pool resize and deploy"
            }
          ]
        }
      ],
      "design": {
        "titleAlignment": "center"
      }
    },
    {
      "layout": "list-3x-title-center",
      "title": "Root Causes",
      "blocks": [
        {
          "items": [
            {
              "text": "Connection Pool Limit",
              "description": "Default pool size of 20 was insufficient for new traffic patterns after product launch."
            }
          ]
        },
        {
          "items": [
            {
              "text": "Missing Auto-Scaling",
              "description": "Database connection pooler had no auto-scaling configured."
            }
          ]
        },
        {
          "items": [
            {
              "text": "Delayed Alerting",
              "description": "Latency alerts had a 15-minute delay due to aggregation window."
            }
          ]
        }
      ],
      "design": {
        "titleAlignment": "center",
        "contentAlignment": "center"
      }
    },
    {
      "layout": "list-3x-title-center",
      "title": "Action Items",
      "blocks": [
        {
          "items": [
            {
              "text": "Increase Pool Size",
              "description": "Raise default to 100, add auto-scaling. Owner: Platform team. Due: March 22."
            }
          ]
        },
        {
          "items": [
            {
              "text": "Fix Alerting",
              "description": "Reduce aggregation window to 1 minute. Owner: SRE. Due: March 19."
            }
          ]
        },
        {
          "items": [
            {
              "text": "Load Testing",
              "description": "Add load test for 3x traffic before every launch. Owner: QA. Due: March 30."
            }
          ]
        }
      ],
      "design": {
        "titleAlignment": "center",
        "contentAlignment": "center"
      }
    }
  ],
  "narrative": "failure-analysis",
  "design": {
    "colorScheme": "slate-gray",
    "fontScheme": "calibri"
  },
  "catalogs": {
    "layouts": {
      "records": [
        {
          "$schema": "https://openpresentation.org/schema/opf-layout/v1",
          "id": "title-center",
          "name": "Title Center",
          "placeholders": [
            {
              "type": "title"
            },
            {
              "type": "subtitle"
            }
          ]
        },
        {
          "$schema": "https://openpresentation.org/schema/opf-layout/v1",
          "id": "number-3x-title-center",
          "name": "Number 3x Title Center",
          "placeholders": [
            {
              "type": "title"
            },
            {
              "type": "metric"
            },
            {
              "type": "metric"
            },
            {
              "type": "metric"
            }
          ],
          "composition": {
            "mode": "row"
          }
        },
        {
          "$schema": "https://openpresentation.org/schema/opf-layout/v1",
          "id": "list-4x-vertical-title-center",
          "name": "List 4x Vertical Title Center",
          "placeholders": [
            {
              "type": "title"
            },
            {
              "type": "list"
            },
            {
              "type": "list"
            },
            {
              "type": "list"
            },
            {
              "type": "list"
            }
          ],
          "composition": {
            "mode": "column"
          }
        },
        {
          "$schema": "https://openpresentation.org/schema/opf-layout/v1",
          "id": "list-3x-title-center",
          "name": "List 3x Title Center",
          "placeholders": [
            {
              "type": "title"
            },
            {
              "type": "list"
            },
            {
              "type": "list"
            },
            {
              "type": "list"
            }
          ],
          "composition": {
            "mode": "row"
          }
        }
      ]
    }
  }
}

Tips for Post-Mortem Decks

  1. Be blameless. Focus on systems and processes, not individuals.
  2. Quantify impact. Duration, affected users, revenue loss — concrete numbers drive urgency for fixes.
  3. Use timelines. A vertical list layout shows the incident progression clearly.
  4. End with action items. Every root cause should have an owner and a due date.
  5. Use slate-gray — it is professional and serious without being alarmist.

Next Steps

You came for the design. Leave with the deck.

STORYD turns anything in this catalog into a finished, story-driven presentation. Free to start, no card.

See it in a deck →

5 free presentations. Exports to PPTX.