Skip to content
All Brief issues

The Brief

A device can propose. Only the server can ratify

Every value your client computes locally is implicitly a claim about authority.

From the archive2 min read

A photo-sharing app, eight million monthly actives. Version 5.4 shipped a small, beloved thing: a trending badge, a little flame that appears on a post when it catches fire.

Computed on the device. Each client watched the like count arrive, estimated a velocity, and if it crossed a threshold, drew the flame. Clean, cheap, no new backend. It demoed beautifully and shipped on a Thursday.

Eleven days later a creator had a post cross the threshold on her phone. She screenshotted the flame and sent it to a brand manager as proof the post was trending, part of a pitch for a paid campaign.

The brand manager opened the app on his own phone, looked at the same post, and saw no badge. His device had joined late, estimated a lower velocity off a shorter window, and never crossed the threshold.

To him, she had faked a screenshot. The deal died. She posted about it. Within a day, support had two hundred tickets saying some version of the trending badge is a lie.

The engineer who picked up the escalation spent an afternoon proving the code was working exactly as designed. Crash-free sessions held at 99.91 percent the entire time.

Here is the thing worth taking from it.

The badge was not a rendering detail. It was a claim about the world, made by a client that could only see part of the world, and treated as fact by people outside the app entirely.

Nobody decided that. It arrived by default, the same way last-write-wins arrives by default.

Every value your client computes locally is implicitly a claim about authority. The question is not where does this get calculated. It is who is allowed to say this is true, and what happens when two clients disagree in front of a customer.

A device can propose. Only something that sees all the writers can ratify.

That distinction separates a senior answer from a staff answer in most mobile system design rounds I have run. Ask it of your own app this week: which values are computed on-device and then shown to the user as fact. There are more than you think.

Get the next one Tuesday

One specific career fix for mobile engineers, every Tuesday, in under 5 minutes.