Founding Designer @operate_gtm | prev. @clerk, @koshmoney

Joined April 2012
🏑 A home that feels like us I can finally share some shots of our home. I’ll share more as they get published. (The designers named it Kirwani. :)
41
5
1
282
22,849
πŸŒ€ Literally went down this rabbit hole last Friday. e.g., the corner radius changes when you enter or exit fullscreen.
Interfaces and containers that naturally meet the screen's edge will always be such a satisfying design detail.
1
33
3,991
What I meant was: when the hardware and software are built together, details like this are easier to get right and more predictable. On the web, it’s trickier. You’re designing for different OSes, browsers, window sizes, fullscreen modes, and every combination of them. And the browser won’t tell you the window’s corner radius, so matching it isn’t automatic. You define the rules yourself, test them, and hope they hold up everywhere. It’s hard, but we try our best.
1
273
Alvish πŸ§™β€β™‚οΈ retweeted
πŸͺ€ Didn’t ship this one because it was too much… fun
24
20
722
24,010
πŸͺ€ Didn’t ship this one because it was too much… fun
24
20
722
24,010
Alvish πŸ§™β€β™‚οΈ retweeted
πŸ”Œ Empty states deserve some love too
14
7
375
8,607
Alvish πŸ§™β€β™‚οΈ retweeted
Sorry for the delay. 🫢 These are great questions. For this one: - I designed the table almost a year ago, but that version was static. This one was pretty much pure code + instructions + a lot of iteration locally. - Now that I tinker directly in prod, I feel like I have way more freedom to experiment. My first goal is always to ship something simple and not hold things back trying to make them perfect. My process is basically: Build β†’ Ship β†’ Polish β†’ Ship β†’ Make it genuinely pleasant β†’ Ship. A lot of the details only reveal themselves once I can actually use the thing. - The responsive part is mostly rules. At certain widths, specific pieces separate into their own columns. I define where they came from, where they’re going, what stays fixed, what happens with missing data, long names, different combinations of data, etc. Then the motion connects those states. It also follows the speed of the resize instead of playing the same fixed animation every time. - For the motion itself, I try to make things feel physically related. The magnet-like behavior here is one example. If something separates from another piece of data, it should feel like it came from there. If two things belong together, they should pull back toward each other. Here I wanted snaps, not bounce, because it’s still a table and needs to feel precise. But during exploration, it’s mostly fuck around and find out. Once I like something, I start building the logic and rules around it. Then it’s a lot of tiny tuning: thresholds, stagger, easing, timing, how much something gives before it snaps, and testing it at different resize speeds. And of course, reduced motion is part of the rules too.
1
1
17
1,200
🫠 If this really is the last era for designers like me, as some people here keep saying, I just want you to know one thing. I've never had this much fun being a designer. Fuck it if AI takes my job. Fuck yeah if it doesn't. If this is the end of an era, what a fucking time to be a designer.
5
1
53
3,363
πŸ”Œ Empty states deserve some love too
14
7
375
8,607
Alvish πŸ§™β€β™‚οΈ retweeted
πŸ” Zoomed-in, slo-mo details no one would ever see It all adds up.
8
1
173
4,566
πŸ” Zoomed-in, slo-mo details no one would ever see It all adds up.
8
1
173
4,566
🐾 What is life if not making more friends, helping people along the way, petting more non-human friends, and most importantly, not being an asshole?
11
1,376
Alvish πŸ§™β€β™‚οΈ retweeted
🫨 Next call in 15m? Don’t worry, we’ve got you. The meeting row expands into a card with the details and quick actions, right when you need them.
7
3
218
6,354
🫨 Next call in 15m? Don’t worry, we’ve got you. The meeting row expands into a card with the details and quick actions, right when you need them.
7
3
218
6,354
πŸ’‘ If you’ve worked with me, you know I come up with a lot of ideas. Shitty, bad, good, great, all of them. 2025 took a toll on me. I was creatively blocked, mostly burned out, for over a year. Honestly, I still am a little. That's also why I’m not taking on freelance projects this year. But something shifted a couple of months ago. Ideas started coming back again, and I’ve been having the best time making things. I feel that joy in work again.
2
73
2,375
Alvish πŸ§™β€β™‚οΈ retweeted
🧲 Follow-up to the dynamic tables: multi-select with mouse or keyboard
6
1
1
106
3,703
🧲 Follow-up to the dynamic tables: multi-select with mouse or keyboard
6
1
1
106
3,703
πŸ—οΈ No checkbox column. Drag across rows, shift-click a range, or cmd-click to select one. Adjacent rows join into one block. From search: Tab focuses a row, Space selects it, Enter opens it, and Esc clears and returns you to search. Shift + ↑/↓ expands the range from where you started. It doesn’t wipe what you already picked.
2
615
πŸ‘€ New handle, who dis?
11
59
3,461
Alvish πŸ§™β€β™‚οΈ retweeted
🧭 A few weeks ago, I was exploring a few different nav layouts. Navigation feels even more crucial in AI-native apps now. It’s surprisingly hard to figure out what should be separate, what should be grouped, and what deserves to be one click away. Haven’t landed anywhere near yet since we’re still too early, so sticking with what we have rn. Mostly just scratching an itch and exploring.
20
8
271
11,512
⌨️ I’ve been seeing a lot of engineers jamming in Figma lately. One piece of advice: make the shortcuts muscle memory. Half the frustration disappears once you stop hunting through the UI. Whenever you want to do something, first look up its shortcut with βŒƒβ‡§? and force yourself to use it. You’ll pick up Figma way faster. 🀝
5
44
4,451