DEV Community

Erkan Alaca
Erkan Alaca

Posted on

Finding where users get stuck or loop using only session logs

Hi,

I’ve been experimenting with a small tool that looks at raw session logs and tries to answer a very simple question:

Where do users actually get stuck or loop in production systems?

The input is intentionally boring:
(session_id, timestamp, event)

No rules, no heuristics, no domain-specific assumptions.

From this, the tool highlights three things:

• Sticky states — places users tend to get stuck

• Behavior loops — repeating paths users cycle through

• Transit states — places everyone passes through, but don’t linger

Below is an example output generated from a real public-sector website click log.

=== Behavior Loop Analyzer ===

Sticky States (users get stuck here):

  • mijn_online_trainingen
  • wdo_014543
  • ontwikkel-uzelf
  • uitkering-aanvragen
  • ontslag
  • tips-vacatures-bij-cv
  • handleiding
  • PORTAL.wwsec_app_priv.logout
  • zoeken
  • opleiding-zoeken

Behavior Loops (repeating patterns):
(Note: shown as-is; in practice the most frequent sub-loops can be surfaced.)

  • vragenlijst-uwv → foutopgetreden.html → vacatures → mijn_bewijs_van_inschrijving → mijn_documenten → Portal (ignore_request_page) → inschrijven → home → taken → wijziging_doorgeven → mijn_agenda → aanvragen-ww → vacatures_zoeken → zoekBeroep → mijn_werkmap → mijn_berichten → mijn_cv → zoekAantalIndicatief → wdo212395 → mijn_tips → mijn_sollicitaties → vacatures_bij_mijn_cv → wdo211812 → ww → werkmap

Transit States (frequent pass-through):

  • mijn_cv
  • taken
  • vacatures_bij_mijn_cv
  • vacatures_zoeken
  • aanvragen-ww
  • home
  • mijn_berichten
  • inschrijven
  • mijn_sollicitaties
  • mijn_werkmap

What stood out to me was how error pages (like “foutopgetreden.html”) naturally appear inside long user loops, without explicitly looking for errors.

I’m not trying to sell anything here — I’m genuinely trying to understand whether this kind of output is useful in real systems.

So my question is simple:

If this was generated from your production logs, would it help you say:
“Ah — the problem is probably here”?

I’d really appreciate honest feedback, especially from people dealing with production systems, observability, or UX issues.

Top comments (0)