Skip to content

Writing/Design systems

Twelve sheets, one heading

Nobody files a bug that says the fourth sheet uses a different typeface. It is the kind of drift you only find by lining all of them up.

ISIonuț Sandu14 Jul 2026 · 5 min readDesign systemsReact NativeCraft

Nobody has ever filed a bug saying the fourth bottom sheet uses a different typeface from the other eleven. It is not the kind of thing people report. It is the kind of thing that makes an app feel slightly cheap for reasons the user could not name if you asked them.

I found mine by moving one thing. The close button on sheets went from the top right to the top left, and to check nothing had broken I opened all twelve in a row for the first time. Three kinds of drift fell out immediately.

Drift one: the typeface

Eight sheets set their heading in the display face at 22. Four set it in the interface face at 20. The design system reserves the display face for headlines, which meant the four were wrong rather than the eight, but that is only obvious once they are side by side. Each of those four looked completely fine on its own.

Drift two: a reservation nobody had cancelled

One sheet's title carried 44 points of right padding. That number was correct when the close button sat on the right and the title had to clear it. The button had since moved to the left, and content now starts below it rather than beside it, so the padding was holding a gap open on the side where nothing was.

“Layout constants outlive the layouts that justified them, and they never announce that they have.”

Drift three: the same fix applied twice

Two sheets stacked their own bottom padding underneath a call to action that already had padding from its container, so the button sat higher on those two than everywhere else. Both had been fixed at some point by somebody adding space rather than by finding out where the space was already coming from.

Why this is worth an afternoon

None of it was a bug. The app worked. But consistency is the cheapest signal of care a product has, and it is the one users read fastest, well before they read a feature list. An interface where twelve similar things behave identically feels considered. One where eleven do feels like nobody was watching.

The method is the only part that generalises: pick a category of thing, open every instance of it in one sitting, and write down what differs. It is boring and it is not a code review, because a code review sees one file at a time and this only exists between files.

Ionuț Sandu — 14 Jul 2026Copy link

NEXT · 02 JUL 2026 · 6 MIN READ

The redesign, and the room it is actually used in

The first version of TeamTipOut looked like every other app built quickly. It worked, it was forgettable, and it was harder to read than it needed to be at midnight in a loud room.

Taking on new projects

Tell me what you’re building.A written scope and a fixed quote before any money moves.

I reply to everything within one working day. If I’m not the right person for it, I’ll tell you straight away rather than three weeks in.