Product

Your on-call rotation gets quieter, and nobody has to be heroic about it.

Odonat sits in three places in your delivery path: in front of the merge button, in front of the rollout, and in front of the pager. Each one catches a class of fault earlier than the last, and the earliest catch costs nothing at all.

The same Friday, twice

Nothing about the change is different. Everything about the evening is.

Without Odonat
  1. A config change merges on Friday because the reviewer was in a meeting.
  2. p99 climbs at 02:14. An alert fires and wakes one person.
  3. Forty minutes go to working out which of the day’s eleven deploys did it.
  4. The fix is a one-line revert. Finding it was the job.
With Odonat
  1. The alert fires. Odonat correlates it against every workload that changed in the window.
  2. It rules out anything that shipped after the metric had already degraded.
  3. One commit is named, with the evidence recorded, in under a minute.
  4. The revert PR is written, explained and waiting. A human merges it.
How it works

Three interception points, in the order a change meets them.

01Roadmap · not built

Pre-merge replay

NOT BUILT. The intent: replay a pull request against a copy of your production traffic before it merges. This is a large piece of work (traffic capture, a request store, an isolated runner, and side-effect isolation for anything that writes), and we would rather say so than imply it ships today.

Today the reliability gate is still a person.

02Roadmap · not built

Sentinel Cell

NOT BUILT, and probably should not be. Argo Rollouts and Flagger already do progressive delivery well. The useful thing for us to build is reading their analysis results, not reimplementing canary traffic splitting.

Today a regression becomes an incident, and Odonat tells you which commit caused it.

03Production

The revert is written before anyone reads the page

When an Alertmanager alert fires, the engine lists the workloads that changed near it, asks Prometheus when the symptom actually began, and eliminates every candidate that changed after that: a change cannot cause a symptom that predates it. Above 85% confidence it opens the revert. Below it, it abstains and writes down why.

On-call gets a decision instead of an investigation.

Who feels it

The same system, four different reliefs.

The engineer on call
Fewer pages, and the ones that arrive come with a named commit and a drafted fix rather than a dashboard and a guess.
The engineer who shipped it
Feedback while the change is still fresh, in CI, instead of a Slack thread the next morning asking what you did on Friday.
The platform lead
A reliability floor that does not depend on who reviewed the PR or who happened to be awake.
The VP of Engineering
Deploy velocity stops trading against stability, so shipping faster stops being an argument you have to win.
Try it

Break something on purpose and watch it get caught.

The sandbox runs the full interception path against a sample service. Inject a connection-pool regression, a malformed feature flag or an unindexed query, and follow it through the causal engine, including the case where confidence lands below the threshold and Odonat refuses to act.

Nothing you do here touches a real environment, there is nothing to install, and no sign-in is required.

Open the demo