Loading video...

Video Failed to Load

Go Home

🧲 Just shipped: Tables that split, stretch, and snap into place.

316,719 views • 12 days ago •via X (Twitter)

41 Comments

Alvish 🧙‍♂️'s profile picture
Alvish 🧙‍♂️12 days ago

The old tables were static. For the new Operate, I wanted something that reacts to how you actually use it. It’s a context panel inside chat. If you give it more width, you’re probably focusing on the data, so it shows you more to work through. Keep it narrow and it becomes a quick glance while you’re talking to an Operate agent. Then I started thinking about how to make that transition feel more pleasant. Here’s how it works: • Widen the panel and a deal row breaks apart. Amount moves out from the deal name into its own column, and close date separates from the owner. • It’s magnetic, not instant. Near the breakpoint, the amount strains toward its column and the name gives a little, then it snaps across. Narrowing is the exact mirror: they pull toward each other, then click back together. • Column icons enter from the side their data came from. Empty dashes travel too. • Snaps, no bounce. The name is back in place the moment the amount lets go. • Long names truncate instead of pushing the table sideways. The video shows Deals, but Accounts, People, Meetings, and Tasks all use the same table now. And it respects reduced motion.

Ash's profile picture
Ash12 days ago

@operate_gtm Love the way it adds columns and switches up the layout!

Alvish 🧙‍♂️'s profile picture
Alvish 🧙‍♂️12 days ago

@operate_gtm Yesss, that part was so fun to get right. 🫶

Joe Bell's profile picture
Joe Bell12 days ago

@operate_gtm I'm still genuinely gobsmacked you shipped this straight to prod yourself — incredible work

Alvish 🧙‍♂️'s profile picture
Alvish 🧙‍♂️12 days ago

@operate_gtm Couldn’t have gotten here without you helping me along the way. 🫂

Deckard's profile picture
Deckard12 days ago

@operate_gtm Stop it. It's too good...

dario's profile picture
dario12 days ago

@operate_gtm Super cool, did you start from scratch on that table component or did you start from some framework? I’ve been struggling with tables in our product and have been looking around 👀

Alvish 🧙‍♂️'s profile picture
Alvish 🧙‍♂️12 days ago

@operate_gtm Not from scratch. Our static table was already built on @tan_stack Table + Virtual (both headless). I revamped its UI first, then added the dynamic layout, interactions and motion on top, all custom.

Anish B Ghosh's profile picture
Anish B Ghosh12 days ago

@operate_gtm wow its soo cool!! we need more creativity like this in the UI space. you earned a follower, man.

Gregor's profile picture
Gregor12 days ago

@operate_gtm snap threshold tuning is where i lost a week. too tight and it fights you, too loose and nothing feels sticky.

Alvish 🧙‍♂️'s profile picture
Alvish 🧙‍♂️12 days ago

@operate_gtm Hahaha yes. This was exactly it. Tiny changes and suddenly the whole thing either feels perfect or completely wrong

Sihoon Kim's profile picture
Sihoon Kim12 days ago

@operate_gtm Is there an open source for it? I really wanna use this!

Alvish 🧙‍♂️'s profile picture
Alvish 🧙‍♂️12 days ago

@operate_gtm Not yet, it's part of Operate's codebase right now. If there's enough interest I'll pull it out into something shareable.

Prerna Kashyap's profile picture
Prerna Kashyap12 days ago

@operate_gtm Love it!

Masudur Rahman's profile picture
Masudur Rahman12 days ago

@operate_gtm Beautiful work 🔥

Alex Krasikov's profile picture
Alex Krasikov12 days ago

@operate_gtm whooot

Alvish 🧙‍♂️'s profile picture
Alvish 🧙‍♂️12 days ago

@operate_gtm I’ll take this as approval 🙂‍↕️

Melody Shar 🌸's profile picture
Melody Shar 🌸12 days ago

@operate_gtm Smooth

Sid's profile picture
Sid12 days ago

@operate_gtm Clean

Aditya Das's profile picture
Aditya Das12 days ago

@operate_gtm love that staggered movement ❤️

adeeb's profile picture
adeeb12 days ago

@jamesm @operate_gtm That snapping is so cool

anthony's profile picture
anthony12 days ago

@operate_gtm very curious, does this happen to be powered by layoutId's? or is this done in raw css/js

Alvish 🧙‍♂️'s profile picture
Alvish 🧙‍♂️12 days ago

@operate_gtm Not layoutId. Raw CSS and a small hook, with two breakpoints.

tegha's profile picture
tegha12 days ago

@operate_gtm Those animations are like cutting butter 😫😫

kon's profile picture
kon12 days ago

@operate_gtm all i see are the dance moves

heyflo's profile picture
heyflo12 days ago

@operate_gtm Wow, ok, this is sick! 👏

Ashish's profile picture
Ashish12 days ago

@operate_gtm banger

Alvish 🧙‍♂️'s profile picture
Alvish 🧙‍♂️12 days ago

@operate_gtm Appreciate it, bhai!

Sean Cope's profile picture
Sean Cope12 days ago

@operate_gtm banger

Yolo's profile picture
Yolo12 days ago

@operate_gtm Tables that split, stretch and snap — finally, spreadsheet yoga.

Harsh Singh's profile picture
Harsh Singh12 days ago

@operate_gtm this animation is legit eye candy

abdelhamid ouglhacen's profile picture
abdelhamid ouglhacen12 days ago

@operate_gtm That’s insane 🔥🔥🔥🔥

Wuraola | Product Designer's profile picture
Wuraola | Product Designer12 days ago

@operate_gtm Really cool!

Laabidi's profile picture
Laabidi12 days ago

@operate_gtm super smooth 😍

Kolbe Yang's profile picture
Kolbe Yang12 days ago

@operate_gtm You can tell how well-designed a web app is by its tables 😉. Not a sexy component but incredibly nuanced.

Marc's profile picture
Marc12 days ago

@operate_gtm This animation is too good 🤯

Ayush Barnwal | Building's profile picture
Ayush Barnwal | Building12 days ago

@operate_gtm this is the unsexy ship that actually matters tables behaving is how an app starts feeling expensive

Solopreneur Dad's profile picture
Solopreneur Dad12 days ago

@operate_gtm That is oddly satisfying

Bill Xie's profile picture
Bill Xie12 days ago

@operate_gtm tables that split, stretch restraint looks intentional. clean release.

Omar's profile picture
Omar12 days ago

@operate_gtm clean

Victor Sango's profile picture
Victor Sango12 days ago

@operate_gtm That snap animation is quite satisfying!

Related Videos