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
‘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
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
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
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
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
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
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
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
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
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
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 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
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
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
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
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
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
Adam 🦄 UnicornClub.dev @admm.co · 03/07/2026
Autosave is useful, but it is not the same as helping someone come back. If I return to a setup flow, I don’t just need the fields kept. I need the product to show what I was doing, what changed, and what I should do next.
100
Adam 🦄 UnicornClub.dev @admm.co · 03/07/2026
One tiny product moment I notice a lot: coming back the next day and the screen knows who you are, but has no idea what you were trying to do. Same form, same steps, no sense of where your head was.
000
Adam 🦄 UnicornClub.dev @admm.co · 02/07/2026
Products are usually pretty good at remembering who you are. Less good at remembering what you were halfway through doing. That return state matters because the job is rarely “log back in”. It’s “help me pick up the thread again”.
100
Adam 🦄 UnicornClub.dev @admm.co · 01/07/2026
New Unicorn Club issue is live: Remember the work, not just the user. It's about the gap between a product remembering your account and remembering the job you were trying to finish. Useful if you work on forms, setup flows, applications, approvals, or onboarding.
100
Adam 🦄 UnicornClub.dev @admm.co · 01/07/2026
Tomorrow's Unicorn Club issue is about unfinished work. Not autosave in the boring "did the fields persist?" way, but the product decision underneath it: what work should survive, and what should happen when someone comes back?
100
Adam 🦄 UnicornClub.dev @admm.co · 30/06/2026
A login is not continuity. If someone gets five steps into an application, uploads documents, stops to find an answer, and comes back later, the useful question is not only: Who are you? It's: What were you trying to finish?
100
Adam 🦄 UnicornClub.dev @admm.co · 30/06/2026
This week's Unicorn Club is about a product gap that drives me mad. The product remembers who you are, but forgets what you were trying to finish. `Welcome back, Adam.` Cool. But the work is gone...
100
Adam 🦄 UnicornClub.dev @admm.co · 25/06/2026
Yesterday's Unicorn Club feedback has been lovely. This was the first issue in the new shape, and I wasn't sure how much people would care about the shift from "good links" to a proper product/interface read. Turns out a lot of you do. That means a lot.
100
Adam 🦄 UnicornClub.dev @admm.co · 24/06/2026
The first new-shape Unicorn Club issue is live. It’s about waiting states and dead-end statuses: imports, account reviews, AI reports, support escalations, and the tiny bits of UI where the product knows what’s happening but the user has to guess what to do next.
100
Adam 🦄 UnicornClub.dev @admm.co · 24/06/2026
New Unicorn Club stuff starts landing this morning. First issue in the new shape is about waiting states: the tiny UI moments where “under review”, “generating report”, or “escalated” are technically true, but leave people guessing whether to wait, retry, or chase.
110
Adam 🦄 UnicornClub.dev @admm.co · 23/06/2026
Tomorrow’s Unicorn Club is the first proper issue in the new shape. Less “here are some links”, more one product/interface problem, what the sources show, and the audit I’d use on a real screen. This one is about dead-end statuses and waiting states.
100
Adam 🦄 UnicornClub.dev @admm.co · 23/06/2026
New Unicorn Club stuff starts tomorrow. Excited to finally share it. The first issue in the new shape is about waiting states: “importing”, “under review”, “generating report”, “escalated”. Accurate labels, but useless if the user doesn’t know whether to wait, retry, or chase.
100
Adam 🦄 UnicornClub.dev @admm.co · 19/06/2026
Getting close to having the new version of Unicorn Club ready. I’m hoping to launch with three or four issues already there, so people can get stuck in straight away and there’s a proper bit of learning there from day one.
000
Adam 🦄 UnicornClub.dev @admm.co · 27/05/2026
Been moving a lot of Unicorn Club stuff around this week and it's starting to feel much closer to what I wanted it to be. Less "weekly email with a site attached" and more of a proper home for the product/design stuff I think is useful. Still half-finished, but the direction feels much better.
000
Adam 🦄 UnicornClub.dev @admm.co · 26/05/2026
Unicorn Club note: no newsletter for the next couple of weeks. I am taking time to mess with the format and move it onto the site. I do not want it to live only as a weekly email. Same idea: better product work, sharper judgement, more useful examples. Just changing shape.
000
Adam 🦄 UnicornClub.dev @admm.co · 23/05/2026
For AI UI work, the boring bit might be the part teams need most. Pick one repeated thing, like a card or empty state, and write down the real component, the states it needs, what the tool can infer, and the fake versions that would pass a quick glance.
100
Adam 🦄 UnicornClub.dev @admm.co · 22/05/2026
One AI design-tool test I'd use now: Does this screen use the real component, states and rules, or has it made a convincing impression of them? Looks close is useful, but if the tool can't show its receipt I'd still treat it as a sketch.
100
Adam 🦄 UnicornClub.dev @admm.co · 21/05/2026
The Design System Guide looked at 158 public systems. 89% had code examples, but only 37% had usage guidance, 21% covered accessibility, and 13% included content guidance. If AI tools are reading the docs now, that missing context becomes product behaviour.
100
Adam 🦄 UnicornClub.dev @admm.co · 21/05/2026
Ugly AI UI is easy enough to reject. The annoying one is the screen that feels familiar enough that you stop checking where it came from. That is where I want a receipt: real component, real states, and the bits the tool guessed.
000