Sign in

Adam 🦄 UnicornClub.dev

@admm.co
121 followers 215 following 362 posts

I help product teams ship better interfaces. Every week get actionable patterns and standards. Build, Shape & Ship. Subscribe for free → unicornclub.dev/?ref=bsky

PostsRepliesMedia
Adam 🦄 UnicornClub.dev @admm.co · 22/09/2026
More on the ‘not now’ conversation in the next Unicorn Club. You can get it by email here: unicornclub.dev/?utm_source=bluesky…
000
Adam 🦄 UnicornClub.dev @admm.co · 22/09/2026
‘We’re not adding private projects yet’ might be a sensible call for a team app. But the person asking could be worried about clients seeing internal work. That still needs an answer, even if we don’t build the feature they suggested.
100
Adam 🦄 UnicornClub.dev @admm.co · 20/09/2026
Who else gets stuck when a self-service step fails? unicornclub.dev/issues/2026-08-05-t…
000
Adam 🦄 UnicornClub.dev @admm.co · 20/09/2026
In a booking flow, a guest’s failed identity check can leave dates blocked on the host’s calendar. Giving the guest another attempt doesn’t settle what happens to those dates. The recovery needs to account for the host too.
100
Adam 🦄 UnicornClub.dev @admm.co · 20/09/2026
A “switch back to the old version” button in a redesign gives people a way to carry on working. I’d ask what sent them back before removing it. They might be relying on something the new version makes harder.
000
Adam 🦄 UnicornClub.dev @admm.co · 19/09/2026
Saving an unfinished application is helpful until it appears for the next person using the same device. Before deciding how long to keep it, I’d want to know who can see it after the first person signs out.
000
Adam 🦄 UnicornClub.dev @admm.co · 19/09/2026
What the product loses when the options stay in prose: unicornclub.dev/issues/2026-07-15-s…
000
Adam 🦄 UnicornClub.dev @admm.co · 19/09/2026
An AI assistant suggesting three options doesn’t tell us which one the person used. If we want to learn whether those suggestions help, we need to capture the choice and whether it worked, not just count the answers generated.
100
Adam 🦄 UnicornClub.dev @admm.co · 18/09/2026
What the next person sees when an answer was a guess: unicornclub.dev/issues/2026-09-16-w…
001
Adam 🦄 UnicornClub.dev @admm.co · 18/09/2026
A form might say ‘an estimate is fine’ when asking when a passport was lost. But does the colleague reading the saved answer know that date was a guess? They’re not looking at the helpful hint anymore.
100
Adam 🦄 UnicornClub.dev @admm.co · 18/09/2026
Matching the cancellation options to why someone is leaving: unicornclub.dev/issues/2026-06-23-y…
000
Adam 🦄 UnicornClub.dev @admm.co · 18/09/2026
Someone cancelling because they don’t need the product this month might want a pause. Someone whose business has closed probably doesn’t. I’d find that out before putting the same discount in front of both of them.
100
Adam 🦄 UnicornClub.dev @admm.co · 17/09/2026
An incident page going quiet can mean nothing has changed, or nobody’s updated it. I can’t tell which. Even “we’re still investigating” is useful if it comes with a fresh update and a time you’ll check in again.
000
Adam 🦄 UnicornClub.dev @admm.co · 17/09/2026
What happens to the guessed answer afterwards: unicornclub.dev/issues/2026-09-16-w…
000
Adam 🦄 UnicornClub.dev @admm.co · 17/09/2026
This week’s article is about forms that make people guess. If I only remember losing my passport in June, requiring a day doesn’t help me remember it. It just gives the next person a date that looks more certain than it is.
100
Adam 🦄 UnicornClub.dev @admm.co · 17/09/2026
Which settings follow the default, and which don’t: unicornclub.dev/issues/2026-09-02-i…
000
Adam 🦄 UnicornClub.dev @admm.co · 17/09/2026
A project’s notifications can be ‘On’ because it follows the workspace, or because someone set it separately. Those look identical until you change the workspace default. Show me which is which before I save.
100
Adam 🦄 UnicornClub.dev @admm.co · 16/09/2026
When merging duplicate customers, I’d want to pick which phone number and email we’re keeping, then check the combined record. Asking ‘Are you sure?’ before I’ve done that is a bit premature.
000
Adam 🦄 UnicornClub.dev @admm.co · 15/09/2026
What’s worth remembering, and what gets in the way: unicornclub.dev/issues/2026-07-01-r…
000
Adam 🦄 UnicornClub.dev @admm.co · 15/09/2026
A dashboard that remembers last week’s filter can make this week’s numbers look wrong. Keep the filter if it’s useful, but make it obvious it’s still on. I shouldn’t have to investigate a drop that only exists in my view.
100
Adam 🦄 UnicornClub.dev @admm.co · 15/09/2026
your yearly reminder to stop jacking scroll on websites
000
Adam 🦄 UnicornClub.dev @admm.co · 15/09/2026
I’m getting into questions like this in tomorrow’s newsletter. Sign up here: unicornclub.dev/?utm_source=bluesky…
000
Adam 🦄 UnicornClub.dev @admm.co · 15/09/2026
An insurance quote asking what it would cost to rebuild my house would send me straight to Google, because who the heck actually knows that? Point me towards some help, and please save my progress while I’m off finding the answer.
100
Adam 🦄 UnicornClub.dev @admm.co · 09/09/2026
The system broke it. Why is the user fixing it? unicornclub.dev/issues/2026-08-05-t…
000
Adam 🦄 UnicornClub.dev @admm.co · 09/09/2026
There's more to do before you ask “Are you sure?” unicornclub.dev/issues/2026-08-12-t…
100
Adam 🦄 UnicornClub.dev @admm.co · 09/09/2026
No new issue this week, but if you've missed a few here's a couple to catch up on:
100
Adam 🦄 UnicornClub.dev @admm.co · 27/08/2026
A disabled toggle can mean the setting is inherited, locked by policy, unavailable on your plan or broken. Those aren't the same state, so they shouldn't get the same explanation.
010
Adam 🦄 UnicornClub.dev @admm.co · 13/08/2026
More on why churn surveys are usually late, not useless: unicornclub.dev/issues/2026-06-23-y…
000
Adam 🦄 UnicornClub.dev @admm.co · 13/08/2026
Churn surveys get treated like clean research even though the cancellation flow has already had a chance to shape the answer. If someone had to hunt for cancel and reject a discount first, "too expensive" might just mean "please let me leave".
100
Adam 🦄 UnicornClub.dev @admm.co · 11/08/2026
If you want it in your inbox when it goes out: unicornclub.dev/?utm_source=bluesky…
000
Adam 🦄 UnicornClub.dev @admm.co · 11/08/2026
If the only thing standing between someone and a destructive action is an "Are you sure?" modal, the product has skipped most of the design work. That's tomorrow's Unicorn Club.
100
Adam 🦄 UnicornClub.dev @admm.co · 07/08/2026
Error copy gets asked to cover for a surprising amount of missing recovery design. Before changing the words, I'd check what caused the failure, who can resolve the blocked state, and whether a recovery method needs to exist before the failure.
000
Reposted by Adam 🦄 UnicornClub.dev
Stefan Judis @stefanjudis.com · 05/08/2026
The State of Devs survey is open for participation. There's a lot of uncertainty and, frankly, occasionally I'm navigating a full-blown identity crisis. I'm very curious about whether I'm alone with these feelings and how bad the majority really feels... stateofdevs.com...
Pixel-art banner reading 'The State of Devs 2026', surrounded by icons and topic tags: Workplace, Career, Health, Hobbies, Mental State, Politics, AI, and Opinions.
3125
Adam 🦄 UnicornClub.dev @admm.co · 06/08/2026
It's finally raining and I've just caught myself standing at the window with a hot cup of tea saying "yeah, we needed this." I think this is what happens once you're over 30.
000
Adam 🦄 UnicornClub.dev @admm.co · 06/08/2026
More on designing recovery around who caused the failure and who can actually fix it: unicornclub.dev/issues/2026-08-05-t…
000
Adam 🦄 UnicornClub.dev @admm.co · 06/08/2026
Both screens tell someone verification failed. Only one shows that their work is safe and what the service is going to do next.
100
Adam 🦄 UnicornClub.dev @admm.co · 05/08/2026
The full issue looks at how recovery changes when the failure belongs to the product: unicornclub.dev/issues/2026-08-05-t…
000
Adam 🦄 UnicornClub.dev @admm.co · 05/08/2026
Self-service doesn't mean every failure belongs to the customer. The useful question is usually what caused the failure, and who can actually resolve the blocked state.
100
Adam 🦄 UnicornClub.dev @admm.co · 04/08/2026
"Something went wrong. Try again" is a bit cheeky when the thing that went wrong belongs to the product 😅 If the system caused the failure, retrying shouldn't also mean working out the recovery route.
011
Adam 🦄 UnicornClub.dev @admm.co · 31/07/2026
community.atlassian.com/forums/Jira…
000
Adam 🦄 UnicornClub.dev @admm.co · 31/07/2026
csswizardry.com/2026/07/meaasuring-…
000
Adam 🦄 UnicornClub.dev @admm.co · 31/07/2026
Atlassian moved Jira's `Status` control after positive early tests, then reverted it when regular users reported more scrolling and slower workflows. I like that they treated "nothing broke" as the start of the investigation, not the end of it.
100
Adam 🦄 UnicornClub.dev @admm.co · 31/07/2026
Your LCP can be lovely while the bit someone came to use is still loading Harry Roberts has a good write-up on Container Timing, which lets you measure a whole region like a buy box or dashboard widget rather than whatever happened to be the biggest thing on the page
100
Adam 🦄 UnicornClub.dev @admm.co · 17/07/2026
This is what I was getting at in this week's newsletter: unicornclub.dev/issues/2026-07-15-s…
000
Adam 🦄 UnicornClub.dev @admm.co · 17/07/2026
For me, chat makes sense inside an AI product while someone's still working out what they want. Once they need to approve something or fix a problem, the screen probably needs to change with them. Keeping it all in chat because chat is already there feels a bit lazy.
110
Adam 🦄 UnicornClub.dev @admm.co · 15/07/2026
I keep seeing AI products work out what's wrong, explain it pretty well, then stop at the paragraph. If it already knows there are three possible fixes, show me the fixes. I don't need another bit of text telling me they exist.
000
Adam 🦄 UnicornClub.dev @admm.co · 15/07/2026
New newsletter is out: Stop turning every answer into text. It starts with a failed sync and the difference between a decent AI answer and a screen you can do something with. Read it: unicornclub.dev/issues/2026-07-15-s…
000
Adam 🦄 UnicornClub.dev @admm.co · 14/07/2026
New newsletter tomorrow. It's about AI products giving you a pretty good answer, then leaving all the options inside a big paragraph for you to pull back out. Subscribe if you want it in your inbox: unicornclub.dev
000
Adam 🦄 UnicornClub.dev @admm.co · 10/07/2026
I wrote about why churn answers are usually late, and what I'd look at before acting on them: unicornclub.dev/issues/2026-06-23-y…
000
Adam 🦄 UnicornClub.dev @admm.co · 10/07/2026
If `too expensive` is the top answer in your churn survey, I'd probably check how many of those people actually made it through setup before touching the pricing. If they never got to the useful bit, the price might not be the first thing I'd fix.
100