UI Crime Scene

Every exhibit below commits a UI crime. Take your exhibit number, try it out (click, type, submit), then post in chat: #number: the crime + how you'd fix it.

K toggles the answer key
#1sign in
Crime: vague error ("Error 0x80004005"). User has no idea if it's the email, the password, or the server. Fix: say what happened and what to do: "That password doesn't match. Try again or reset it." Planning question: what happens when login fails?
#2create account
Crime: one field is wrong and the form erases everything, then says "Invalid input." Fix: keep what they typed, highlight the bad field, explain the rule next to it. Planning question: what happens when form validation fails?
#3profile
Crime: no feedback. It actually saves, but nothing on screen changes, so users click 5 times or assume it failed. Fix: a "Changes saved" message, button loading state, or toast. Every action needs visible feedback.
#4photos
📁 Vacation 2025 (412 photos)
📁 Grandma's 90th (88 photos)
Crime: destructive action styled like every other button, right next to Save, with no confirmation and no undo. Fix: make it look dangerous (red, separated), confirm with specifics ("Delete 500 photos? This can't be undone"), or offer Undo. Planning question: which actions can't be undone?
#5checkout

Order total: $84.20

Shipping is non-refundable. Orders ship in 6–8 weeks. Subscription renews monthly at $49.99 unless cancelled.

Crime: low contrast. Important info (the auto-renew!) and the main button are almost invisible. Fix: readable contrast (WCAG AA), important terms in normal text, a clearly primary button.
#6editor toolbar

Which one publishes your post?

Crime: "mystery meat" navigation. Icons with no labels or tooltips, so users have to guess (and one of them deletes). Fix: text labels, or at least tooltips/aria-labels; familiar icons only. Planning question: what navigation and actions exist on each page?
#7playlists

Your playlists

Crime: a blank empty state. New users see nothing and don't know what to do (is it broken? loading?). Fix: "No playlists yet" + a Create playlist button. An empty screen is an invitation to act. Planning question: what happens on a user's first visit?
#8subscription

Cancel your subscription?

You'll lose access at the end of the billing period.

Crime: ambiguous buttons. Does "Cancel" cancel the subscription or cancel the dialog? Fix: name buttons by what they do: "Keep subscription" / "Cancel subscription".
#9promo banner
🎉 Upgrade to Pro and get 3 months free! Tap here to learn more.
Crime: tiny click target. The close button is about 9px, so on a phone you hit the ad instead. Fix: touch targets at least 44×44px. (Bonus: when it's done on purpose, that's a "dark pattern.")
#10contact info
Crime: rejects a perfectly normal phone number and doesn't say what format it wants. Fix: accept common formats (strip the punctuation in code), show an example placeholder, explain the rule. Planning question: what if the user enters invalid data?
#11search
Crime: no loading state. Nothing happens for 3 seconds, so users click again and again (and send 5 searches). Fix: a spinner or skeleton, disable the button while loading, "Searching…".
#12birthday

Try to land on exactly 1998.

Crime: wrong control. A slider is great for "roughly how much" but terrible for an exact value out of 127 choices. Fix: a number input or date picker. Choose controls that fit the data you're collecting.
#13shipping
Crime: disabled button with no explanation. Users don't know which field is missing (ZIP). Fix: let them click Next and point at the missing field ("Enter a ZIP code"), or show what's required up front.
#14chat
hey are we still on for 6?

Turn Wi-Fi off, then send a message.

Crime: offline failure is silent. The message just vanishes; the user thinks it was sent. Fix: keep it in the log marked "Not sent · Tap to retry." Planning question: what happens if the internet disconnects?
#15recipe blog

Grandma's Banana Bread

Preheat the oven to 350°F. Mash three ripe bananas in a large bowl, then stir in the melted butter…

Crime: interrupts the task the moment you start it, and guilt-trips you ("confirmshaming"). Fix: don't block the main task; offer the newsletter after the recipe, with a neutral "No thanks." Planning question: what are the user's goals? (Reading the recipe, not your newsletter.)
#16settings

Turn off email notifications:

Crime: no hierarchy and developer jargon. 12 equal-weight options, internal names, and nothing called "email notifications." Fix: group by what users care about (Notifications · Privacy · Display), use plain language, put the common settings first. Name things the way users think about them.