thingsfajar.
Back to all insights
UI/UX Design Insight

The Screens Nobody Designs

By Fajar Pursigit 4 min read
A person holding their head in front of a laptop

Photo via Unsplash

Every product I have worked on had a beautiful happy path in Figma. The dashboard was full of data, the cart had three products in it, and every form was submitted successfully on the first try.

Then the product went live, and real people started meeting the screens we never designed.

The first time a new user opens an app, the dashboard is empty. When the connection drops, something has to appear. When a payment fails, a message has to explain what happened.

These moments are not edge cases. For a lot of users, they are the first impression.

Empty

Empty States Are an Onboarding Opportunity

An empty screen with “No data yet” tells people nothing. It feels like a dead end, and dead ends make people close the app.

I like to treat every empty state as a small onboarding moment. It should tell people what will appear here, why it matters, and the one action that fills it up.

Dead end

No orders yet

Tells people nothing. No reason to stay, no next step.

Invitation

Your orders will show up here.

Start with your first restock and track it in one place.

Start a restock

Same space, but it explains what comes and gives one clear action.

The same empty dashboard, written two ways.

Error

Errors Should Sound Like a Person, Not a System

Most error messages are written by whoever builds the feature, usually at the very end, usually in a hurry. That is how we end up with messages like “Error 402: Transaction failed.” The user does not need the code. They need to know what went wrong and what to do next.

A good error message answers three things in plain language. What happened, whether their money or data is safe, and how to fix it.

Checkout

Restock orderRp 250.000
•••• 4242

Written by

System Person

Waiting for payment

What happened Is my money safe How to fix it
Press pay, then flip the switch. Same failure, very different feeling.

Loading

Loading Is Part of the Experience

Waiting feels longer when nothing tells you what is happening. Skeleton screens, progress steps and small bits of copy like “Pulling your latest orders” make the same three seconds feel shorter.

People are surprisingly patient when they understand what they are waiting for.

Same wait, two ways

0.0s

Spinner only

#1042Arabica beans, 12 kgRp 1,8jt
#1041Oat milk, 24 pcsRp 960rb
#1040Paper cups, 500 pcsRp 420rb

Nothing tells you what is happening.

Skeleton and copy

Pulling your latest orders

#1042Arabica beans, 12 kgRp 1,8jt
#1041Oat milk, 24 pcsRp 960rb
#1040Paper cups, 500 pcsRp 420rb

You can see the shape of what is coming.

Same three seconds. One of them feels shorter.

Handoff

How I Make Sure They Get Designed

These days I add a simple checklist to every screen before handoff. For each one I ask what it looks like empty, what it looks like when it fails, what it looks like while loading, and what it looks like with way too much content.

It adds maybe an hour to the design process and saves weeks of awkward fixes after launch.

Orders Ready
#1042Arabica beans, 12 kgRp 1,8jt
#1041Oat milk, 24 pcsRp 960rb
#1040Paper cups, 500 pcsRp 420rb

Your orders will show up here.

Start a restock

We couldn’t load your orders. Your data is safe, check your connection and try again.

Try again

Pulling your latest orders

#1042Arabica beans, single origin from Kerinci, 12 kg vacuum packedRp 1,8jt
#1041Oat milk barista edition, 24 pcs, chilled delivery before 7amRp 960rb
#1040Paper cups 8oz with printed logo, 500 pcsRp 420rb
#1039Brown sugar syrup, 6 bottlesRp 310rb
#1038Matcha powder ceremonial grade, 1 kgRp 1,2jt
248 more orders

Previewing: Happy path

Before handoff

0 / 4
Tick each state to preview it on the screen.

The screens nobody designs are the screens users remember.

They show up exactly when something feels off. Designing them with care is one of the cheapest ways to make a product feel trustworthy.

Keep Reading

More from Insights

Got a project in mind?
Branding

Designing Sub-Brands That Still Feel Like Family

Copywriting

Why I Write the Words Before I Design Anything