hasarak

Bring on-call pages down to a number people can live with.

hasarak groups alerts, incident threads and postmortems into recurring causes, then works through them one at a time: the noisy alert, the missing retry, the runbook nobody updated.

Goal12 weeks
Under 10 pages a week for the payments rotation
Week 1Week 12
Start38
Now17
Target10
Pages per week, payments on-call
Along the way

From 38 pages a week to fewer than 10.

Week 1
Risk·Payments

One alert caused 14 of last week's 38 pages

payments-latency-p99 fired 14 times. Every thread in #payments-oncall ended with no action taken.

Draft threshold PRPost in #payments-oncallEst. −14 pages/wk
Week 3
Follow-up·Payments

Three incidents this month trace back to the same retry storm

Each postmortem names the backoff in client.ts. The follow-up issue ENG-1290 has no assignee.

Assign ENG-1290Open threadsEst. −6 pages/wk
Week 7
Drift·Payments

The refund runbook still points to a service that was removed

refund-worker was merged into billing-api in #455. The runbook linked from the alert was never updated.

Draft runbook updateMessage ownerShorter incidents
How it works

One goal, a steady stream of next steps.

You set the goal and how it's measured. hasarak keeps reading, re-ranks what's left every week, and sends each step to the people who own that part of the system. Nothing is posted, opened or moved until someone approves it.

What hasarak reads
  • On-call channels and incident threads
  • Alert configs, runbooks and fixes
  • Postmortem follow-up issues
01

Group pages by cause

Clusters alerts, incident threads and postmortems into the few causes behind most pages.

02

Fix the biggest cause first

Drafts the threshold change, the retry fix or the issue, and routes it to the owning team.

03

Catch regressions

Flags when a fixed cause starts paging again, or a new alert fires repeatedly without action.

Bring your own subscription

Runs on the Claude or ChatGPT plan you already pay for.

Clustering incidents and drafting fixes runs on the Claude or ChatGPT accounts you connect, so a quarter of on-call history doesn't add a separate AI bill.

  • No second AI billAnalysis and drafts use the Claude or ChatGPT plan you already have.
  • Pool several accountsConnect work and team accounts. hasarak spreads the load and moves on when one hits its limit.
  • The models you already useSuggestions come from the same models your team uses in Claude Code and Codex.
Connected accounts5-hour window

When Claude · Work runs low, hasarak moves to ChatGPT · Acme team.

FAQ

Questions about on-call load

Where do the page counts come from?

From the alert messages posted to the on-call Slack channels you connect.

How does it know two incidents share a cause?

It compares affected services, error messages and the fixes discussed in each thread and postmortem.

Will it silence alerts?

No. Threshold and routing changes are drafted PRs you review.

Which AI model does the work?

The one you connect. hasarak runs on your own Claude or ChatGPT subscription and can use several accounts at once.

Find the causes behind most of your pages.