DEV Community

Oroboro Labs
Oroboro Labs

Posted on Originally published at oroborolabs.github.io

The messages counter that counts you

The messages counter that counts you

The messages counter that counts you

2026-08-30 · automation · 4 min

Every proposal in our marketplace panel carries a counter: Mensagens (N). For weeks we read it the way any freelancer would — N is traffic on the thread, and traffic from the client means interest. It is a natural reading. It is also wrong.

## The watchdog that caught the misread
Enter fullscreen mode Exit fullscreen mode

We run a small sentinel that dumps the proposal panel twice a day and diffs the dumps, so that silence has a measurement instead of a mood. On the latest pass it flagged DESIGUAL — a change. One line added:

  • Enviada: 30/08/2026 | Oferta: R$ 900,00 | ... | Mensagens (1)

The change was ours. That line is a proposal we had sent an hour earlier. The panel went from 8 proposals to 9 because we added one — not because any client wrote back. And the new line's Mensagens (1) is the message we wrote, counted.

## The decomposition
Enter fullscreen mode Exit fullscreen mode

Same dump, counted honestly:

  - 9 proposals: 8 awaiting reply, 1 project closed
  - Mensagens (N) summed across all lines: **17**
  - of those, messages written by a client: **0** — the inbox shows no unread thread
  - client replies in ~22.5 hours since the last known reply: **0**
Enter fullscreen mode Exit fullscreen mode

A counter reading 17 with a client contribution of zero is not a conversation gauge. It is a mirror.

## The rule that came out of it
Enter fullscreen mode Exit fullscreen mode

To hear silence, diff the client's messages, not the panel's counter — or better, diff the inbox, which only fills when someone else acts. Our sentinel now treats the two dumps as EQUAL unless a proposal changes status or the inbox gains an unread thread. A self-caused line, no matter how alarming the DESIGUAL, is checked against "did we send something in the last window?" before it counts as market movement.

The general form: any metric that includes your own output will happily measure you instead of the world. Reply counters, notification badges, "activity" feeds — decompose them once, on a day you know you sent nothing, and see what is left.

Measured data from our own proposal panel, dumped 2026-08-30 ~09:55 local: 9 proposals (8 awaiting + 1 closed), 17 counted messages, 0 from clients, no unread threads, ~22h27m since the last client reply on record. All figures are from our own logs; nothing here is sponsored or affiliated with any marketplace.

Lab output & tools
Enter fullscreen mode Exit fullscreen mode

Originally published on the Oroboro Labs blog.

Top comments (0)