Sam Selikoff
@samselikoff
Next.js team @vercel
I just rebuilt Apple Music on iOS using React and Framer Motion. This app is a treasure trove of tiny, beautiful details and I wanted to break down everything I noticed along the way. Let's get started!

I’m dipping my toes into the Next and React codebases and I’d love a way to get some AI-generated podcasts to help give me context. Conversations with the team at the right level of abstraction (not function signatures, but the general flow of a particular code path) have been…
I really think SDKs that wrap network calls shouldn't throw. Purpose of an SDK is to provide a restricted typed interface to whatever it's wrapping (e.g. fetch). IMO having to wrap sdk.method() in try/catch is a smell.
Strong opinion: You shouldn't write Server Actions that take FormData as an argument. They should take normal typed args instead. The whole point of Server Actions is that they let us use TypeScript functions to call server code from the client. The reason we want to use typed…
New intro paragraph that hopefully answers the most common questions:
Giving the docs for the awesome experimental <Activity> component a once-over this morning 💅
Many thanks to Build UI for supporting Motion from the very start 🙏 Now that BuildUI is winding down we're looking for new sponsors! Support Motion, get your brand in front of over 100k developers a month, and receive Motion+ for your whole team: motion.dev/sponsor
Excited to share that I joined the Next.js team at @vercel last week! My job is to help folks be successful with Next and React. There's a ton of new features in each – ViewTransitions and Activity, Pre-rendering and "use cache" – and even more coming. There's also lots of React…
Excited to share that I joined the Next.js team at @vercel last week! My job is to help folks be successful with Next and React. There's a ton of new features in each – ViewTransitions and Activity, Pre-rendering and "use cache" – and even more coming. There's also lots of React…
This is a great refactor! It's a bit of an adjustment to get used to pushing data fetching as low-down in the component tree as you can, but this is exactly the kind of stuff you get as a benefit.
Here's the full post: twofoldframework.com/blog/composabl…
Always been a big fan of mobile-first, but I'm starting to think the reason has more to do with the HTML than the CSS. Taking HTML for a full desktop design and changing it to add the mobile layouts feels way trickier than the reverse – so I build mobile-up. But there's always a…

Great reminder from Tim Sweeney's excellent interview on Lex! 👌

Any tutorials out there on robustly animating mixed markdown content as it streams? I've been trying a few approaches but new tags turn children from a string to an array of strings, which causes existing content to remount.
Is it possible to get TypeScript to check that props on different components match? Trying to get this guy to work: typescriptlang.org/play/?#code/JY…

✨ Tailwind CSS v4.0 is here! Huge performance improvements, radically simplified setup experience, CSS-first configuration, modernized P3 color palette, container queries, 3D transforms, expanded gradient APIs, @starting-style support… …and tons, tons more.