Hebel

The outrage spiral, drawn as a loop

Two camps think they’re defending themselves. The system they’re trapped in is escalating itself — and the algorithm is happy to help.

June 25, 2026 · 6 min read

Open any feed mid-controversy and it looks like a war: one side attacks, the other defends, the first hits back harder. Each participant is certain they’re the reasonable one — they’re only responding to provocation. And from inside their own loop, they’re right.

That’s the tell. When everyone is defending and the whole thing keeps getting louder, you’re not looking at a fight between two parties. You’re looking at a single structure that escalates itself. Draw it and the spiral becomes obvious.

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.
Tippe einen Knoten an
Outrage escalation between two camps — modeled in Hebel. Tap nodes; press play to simulate. Get invited to explore it live in Hebel →

Two “defend our side” loops, one shared threat

Each camp runs the same logic: the more provocation we perceive, the more outraged we get; the more outraged we get, the more we post; and our posts are the next provocation the other side reacts to. That’s two balancing loops (B) in intent — each side trying to restore its sense of safety by pushing back.

But they share one variable: perceived provocation. A’s defense raises B’s provocation, B’s defense raises A’s, and the two balancing intentions chain into a single reinforcing loop (R). This is the Escalation archetype — the same structure as an arms race. Nobody is escalating on purpose; the structure escalates them.

The algorithm makes it a third actor

In a face-to-face argument, the spiral eventually exhausts itself. Online there’s a third party that never tires. Outrage generates engagement, engagement is what the feed optimizes for, so algorithmic amplification turns up distribution on exactly the most provocative posts — which raises perceived provocation for both camps at once.

Run the simulation above and watch it: the amplification edge closes the loop into a faster, tighter spiral than the two camps could sustain on their own. The algorithm isn’t taking a side. It’s taking the spiral’s side, because the spiral is what feeds it.

Why “just ignore them” and “fight back harder” both fail

The two instinctive moves are symmetric, and both are inside the loop. Fight back harder directly feeds perceived provocation — you’re pulling the reinforcing edge tighter. Wait for them to stop assumes the other camp controls the spiral, but no single actor does; the structure does.

Meanwhile polarization accumulates with a delay. Long after a given fight burns out, the gap it widened stays — so the next spark starts from a higher baseline. That’s why feeds feel angrier year over year even when no individual fight seems worse.

Where the leverage actually is

Escalation only breaks where the reinforcement is cut. Two places work.

  • Unilateral de-escalation. One camp deliberately under-responds — refusing to treat the latest provocation as a trigger. It feels like losing, which is exactly why it’s rare and exactly why it works: it’s the one move that weakens the shared loop instead of feeding it.
  • Change the amplification metric. The highest-leverage edge isn’t between the camps at all — it’s the algorithm’s goal. Optimize the feed for something other than raw engagement, and you sever the link from engagement to algorithmic amplification that turns a human squabble into a machine-accelerated spiral.

Arguing better inside the loop can’t win. Changing what the loop rewards can.

Map your own system

Hebel is launching soon. Join the early list and lock in 30% off — plus 10% more per friend you bring.

Get invited