Unified Search

What was broken

The ask sounded small: "let's make it horizontal, it was vertical, no other changes." We treated that as a settled decision and the web experience team shipped it. Then the errors showed up. The request hadn't actually been thought through past the layout change — it just looked like it had, because it was phrased as a simple flip.

The vertical version had a dropdown where users picked which entity type they were looking for before searching. That single control quietly did a lot of work: it scoped the query, and it taught people what was even searchable. The horizontal layout had nowhere to put it. It just disappeared, and with it, a chunk of how people actually used the tool.

What I did

I designed a filter that appears on focus instead of living as a permanent dropdown. It shows which entity types are available, and it doubles as onboarding for features people didn't know existed — things like From/To range queries. It also solved a smaller, dumber problem: where do you even put a "switch locations" button on a horizontal bar. The filter gave it a home.

We had one engineer on this and a real deadline, so there wasn't room for the normal back-and-forth between a Figma file and a build. I implemented the interaction details myself instead of writing another round of tickets: spacing, the list's visual density, hover and loading states, the animation timing, colors, alignment. Not because I wanted to own the code, but because that was the fastest path to the thing actually feeling right, given who was available to build it.

Internal testing ran with CS and internal analysts first — not end users yet — and that's where the missing entity-type control got flagged hardest. That feedback is what led directly to the focus-triggered filter.

What changed

It's fully shipped internally. We negotiated one extra week of cross-company testing before it goes out to actual users. No usage numbers yet — too early.

What I learned

A request that sounds like "just change the orientation" is never just that in a product where the layout was quietly load-bearing. The real lesson was catching that before it ships, not after — and when it does ship broken, the fix isn't to add the old control back verbatim, it's to ask what job that control was actually doing and design for the job, not the widget.