Design engineer & minimalist. Previously design lead at @feedly and (2x acquired) @ycombinator startups.

Joined June 2012
356 Photos and videos
Pinned Tweet
Introducing Fluid Functionalism, open source ui components where every hover, transition, and animation serves a purpose. Built on top of shadcn/ui and radix. One CLI command to install. Link ↓
36
31
856
58,493
Your scrolling lists probably look done when they’re not. macOS hides scrollbars, and clipped content gives no hint there’s more below. Here’s how to fix it → fluidfunctionalism.com/docs/…
Too many scrollable list that are not scrolled. Exploring the best technique to create affordance that there's more on the scroll. Best example you've been out there?
7
27
609
60,758
The system: 2 layers. Primitives that any component can drop into its own scroller, and a wrapper that bundles everything for the common case. Optional props: - Horizontal / Vertical / Both - Show / Hide chevron - Tight / Comfortable opacity mask size
3
504
Also works for double overflow.
7
489
New prop for InputMessage component: Queued messages Queue, reorder, edit, and remove messages before sending without cluttering the UI. Inspired by Sonner’s infinite toast stacking. Sent messages get a subtle motion animation. Open source. Link in Thread ↓
8
51
3,880
For reference: @cursor_ai app right now: - Probably the best UI/UX right now - allow to do every action - very tiny controls - very functional Agent multitasking and message steering felt a bit too specific for a first version of queued messages.
2
182
For reference: @OpenAI Codex app right now. - No preview of attachments - tiny UI without max height? - no tooltip on main actions - edit hidden under "..." menu - reorder grab is about 16x16px
2
238
For reference: @claudeai app right now. - cannot reorder - cannot edit once sent - takes a lot of vertical space - uses weird shadows for cropping
2
462
Micka retweeted
It escalated quickly. I moved to a WebGL canvas to achieve butter-smooth gradients, and added luminescence and directional blur effects, preview options, and the option to use an image instead of colours. For the UI, but I'm using @micka_design 's fluid functionalism library.
3
1
17
1,706
Too many scrollable list that are not scrolled. Exploring the best technique to create affordance that there's more on the scroll. Best example you've been out there?
10
4
203
73,889
New component drop: Chat-style message composer with an auto-resizing textarea, flexible left/right action slots. Clean, simple and efficient. Open source on fluidfunctionalism.com/docs/…
8
3
119
10,086
That's live on fluidfunctionalism.com normal: "'wght' 400, 'opsz' 14", medium: "'wght' 450, 'opsz' 15", semibold: "'wght' 550, 'opsz' 19", bold: "'wght' 700, 'opsz' 25",
when animating variable font weights remember to include tighter optical sizing to maintain the width of the text
3
75
7,383
Also added your improvement @zach3george for the merge of the last selected menuitem. Thanks again!
1
3
464
Passed a few quality of life improvements on two most-requested tweaks for the AskUserQuestions component: - Freeform “other” option is now a real textarea - New chip layout variant (left-aligned) The reception on this component has been unreal with teams are already implementing it in production and triggering great discussions. Community-driven open source at its best. fluidfunctionalism.com/docs/… Keep the feedback coming, it’s shaping everything.
3
1
90
6,777
When everyone on your team can build anything, shipping velocity becomes the easiest thing to celebrate. But here’s the trap: asking an agent costs seconds. Asking a colleague costs minutes. Do that a few times a day and you start using your AI as head of product. Over a quarter, you end up with a pile of decisions no one made together. Every PR is defensible. Every change makes sense in isolation. And yet the product drifts. I caught myself doing exactly this: aligning at the PR level instead of earlier. The problem is not when we review. It’s what we review. PRs show code. PRDs show intent. Neither shows behavior. I wrote about what I think the fix is: prototype the actual behavior, review it together, throw it away, and rebuild it right. Link in comments 👇
2
8
1,174
Article link to my newsletter: open.substack.com/pub/micka/… If this hits, I go deeper on this stuff in my newsletter every month or so. Subscribe to catch the next one before anyone else.

751
New component: AskUserQuestions - Clear affordance between single select and multi select - Keyboard powered - Seamless "other" option - Fluid Functionalism's proximity hover - Inline or stacked descriptions - Motion and subtle animation just on what matters Open source: Link in thread ↓
20
15
586
38,001
Component link: fluidfunctionalism.com/docs/… Lmkwyt and if you spot any glitches! It's been a fun one to work on.
41
2,270
Been using so many AI tools that each do their own version of this component. Also just rebuilt it for a client. Felt like it was time to define it for Fluid Functionalism.
24
2,004
FluidFunctionalism.com now runs on Radix or @base_ui. your call. I build a page to show you what changes: nothing. And that's beautiful. 👋 @colmtuite
4
1
48
3,684