For the docs you keep meaning to write.

Paste a Slack thread, terminal scrollback, or rough notes. Get back a clean runbook, post-mortem, SOP, or architecture doc — formatted the way your team actually writes them.

Free forever for runbooks · no card required · upgrade for the rest

$0
To get started
4
Doc types on Pro
<10s
Typical first draft
0
Fabricated commands
How it works

Three steps. Most of them you already do.

01

Paste raw input

Terminal output, Slack thread, PagerDuty timeline, scratch notes. The messier the better — the prompts are tuned for real artifacts, not polished prose.

02

Pick a doc type

Runbook, post-mortem, SOP, or architecture. Each has its own structure, writing rules, and redaction behaviour baked in.

03

Review, refine, export

Output streams in formatted, ready to read. Refine any section with new context. Export to Markdown, HTML, PDF, or DOCX.

See it in action

From chat noise to a usable runbook.

The transcript on the left is what an on-call engineer types into Slack at 2 AM. The runbook on the right is a (trimmed) version of what the model returns.

Input you paste— raw, messy, unedited
slack-incident.txt
#help-platform — Tue 14:32
sara-kim: anyone seeing 504s from checkout-svc? customers reporting payment timeouts
mike-r: yep dashboard is lit, p99 spiked 200ms → 9s about 6 min ago
sara-kim: kubectl top pods -n payments → checkout-svc CPU 98% on all 3 replicas
mike-r: HPA didn't scale? checking values… maxReplicas: 3 🙃
sara-kim: kubectl scale deploy/checkout-svc -n payments --replicas=8
mike-r: latency dropping… p99 back to ~300ms, error rate flat
sara-kim: 3rd time this quarter. need maxReplicas bumped permanently in helm values
mike-r: opening PR to set maxReplicas: 12 in charts/checkout/values.yaml
Runbook you get back— formatted, structured, redacted
checkout-svc-cpu-saturation.mdRunbook

checkout-svc: Recover from CPU saturation under load

Severity: SEV2  ·  Estimated Time to Resolve: 5–10 min  ·  Owner: Payments team

Purpose

Use this runbook when checkout-svc returns 504s because the HPA is stuck at maxReplicas.

Trigger / Alert Conditions

  • Customer reports of timeouts at the payment step
  • p99 latency on checkout-svc rises sharply (e.g., 200ms → multi-second)
  • kubectl top pods -n payments shows CPU near 100% on all replicas

Diagnosis

  1. Confirm replica saturation:

    kubectl top pods -n payments
    

    Expected: checkout-svc replicas pinned at high CPU.

  2. Check whether the HPA has hit its cap:

    kubectl get hpa -n payments checkout-svc
    

    If REPLICAS == MAXREPLICAS, the HPA cannot scale further — go to Resolution.

Resolution

  1. Scale manually past the HPA cap to relieve immediate pressure:
    kubectl scale deploy/checkout-svc -n payments --replicas=8
    
    Why: unblocks customers while a permanent fix lands. Verify p99 returns to ~300ms…
Doc types

Four templates today. Each one tuned, not generic.

Runbook

On-call

Severity, purpose, trigger conditions, prerequisites, impact, diagnosis, resolution, verification, rollback, escalation. Commands preserved verbatim.

Post-mortem

Incident review

Blameless format: timeline table in UTC, root cause, contributing factors, what went well/poorly, numbered action items with owner and due date.

SOP

Process

Roles & responsibilities, prerequisites, approval gates, compliance notes (SOC 2, HIPAA), verification, rollback, revision history.

Architecture

Design

System overview with Mermaid diagrams, components, data flow, NFRs (SLO/cost/security), trade-offs considered, open questions flagged.

Why it's different

Built for ops, not for blog posts.

Generic AI writing tools fall apart the moment they touch real engineering output. These six choices are what change that.

Preserves your commands verbatim

If you paste a command that worked, it appears in the runbook exactly as you ran it — flags and all. No paraphrasing your known-working into something close-but-wrong.

Flags unknowns — never invents them

Missing a dashboard URL, team name, or threshold? The output says "[NEEDS INFO: …]" at that spot. A fabricated command in a runbook causes outages.

Redacts secrets unconditionally

Even if you say it was rotated. Webhook keys, API tokens, and bearer credentials become [REDACTED], with a Security Notes section appended.

Matches your team's voice

Upload an existing doc as a style template. Generated output picks up your conventions — numbering, heading style, section ordering.

Section-level refinement

Hover any H2 heading, hit Refine, paste the missing context. That one section regenerates. History links parent and child so you can trace edits.

Exports where your team lives

Markdown for git repos and Notion. Styled HTML for wikis. PDF for sharing. DOCX for the workflows that demand Word.

Pricing

Free for runbooks. Pro for everything else.

Free
$0/forever

Runbook doc type · 5 generations/day · markdown export · 10k chars of input.

Get started free
Pro
$19/month

All four doc types · refine loop · MD/HTML/PDF/DOCX · 200/day · 50k chars · cancel any time.

Upgrade to Pro
FAQ

Quick answers

Does my pasted input stay private?
Inputs are stored on your account so you can re-open and re-export past generations. Delete any row from history, or delete your whole account, which cascades to everything you created. Nothing is shared with other users or sold. Per-user retention windows are on the roadmap.
Which model is behind it?
A frontier large language model, called directly. No third-party proxies, no middleman, and your inputs are never used to train the model.
Can I edit the prompt?
Not yet — the prompts are tuned and locked behind a regression harness. Customer-editable prompts for teams that want their own conventions encoded are next on the roadmap.
What counts as a generation?
Each "Generate" click is one. Refining a section is one. Failed attempts (server error, aborted mid-stream) are logged but do not count against your quota.
Does this replace the runbook I'd write by hand?
It replaces the blank-page version of that task. You'll still review, edit, and own the result. But turning a Slack transcript into a credible first draft is where the hours go — and this is good at first drafts.