Introducing Animations on the web
A course about how to craft animations that make people feel something.
It contains everything I know about motion on the web.
Today is my last day at
@vercel
🖤
Joining Vercel was a dream come true for me and I'm thankful for the chance I was given 18 months ago. I grew a lot during my time here and had the privilege to work with incredibly talented people.
Excited for what's next!
Introducing my new small side project:
I decided to interview designers and engineers about their work as I am fascinated by how other people approach their craft.
Tried building family's tray system on the web.
It's not as good as their native implementation, but the combination of Vaul and framer motion gets you pretty close
During Vercel's hackathon last week,
@kevinrupert
and I built a time machine for preview deployments.
Pressing the 'i' key activates a slider that allows you to compare the differences.
The new chapter of the course has dropped and the registration is open for the next five days.
We'll build all of these components and more, source code included.
I don't share this one often, but is a project I made last year. It contains a bunch of interviews with designers and engineers from companies like Vercel and Linear. Thought you might find it interesting!
I'm working on a page for the course that will contain some useful links related to animations.
What are some great videos, people, companies or articles that you really like?
We've shipped our new Geist documentation at
@vercel
.
It's not only a visual update, we also improved the DX and provided better instructions on how to use our colors and components.
Decided to add a page with all components we'll build in the course. Hopefully this gives you a better overview of what's in it.
Registration closes tomorrow.
Just released version 1.0 of Sonner.
Added simple documentation with
@shuding_
's Nextra, improved the API + you are now able to use Toaster in server components thanks to
@huozhi
.
First behind-the-scenes email is going out later today.
Excited to talk about Framer Motion and share some actual code snippets, even though this one is pretty simple.
Added an outline to Animations on the web.
The first part of the course is launching on March 15th.
March 15th is also the date that the registration will close and will stay closed until the full launch later this year.
Sharing this little button animation + a bunch of other stuff later today in the behind-the-scenes email from the course.
Watch your inbox around 7pm ET
Thanks to
@benjitaylor
for helping align with Family's drawer styling. We will now be able to work with similar styles and assets in the course as the ones used in
@family
's iOS app.
Blurred Glow
Stack 2 same divs/images on top of each other and apply blur with some transform to one of them.
filter: blur(40px);
transform: scale(1.3) rotate(30deg);
We've updated our command menu in the dashboard, Vercel docs, and Next.js docs with a new component from our shared Geist package.
It also turns into a drawer on mobile now, resulting in better mobile experience
@shadcn
I haven't seen a good alternative and actually thought about making such component. It just seems very complex, because of the amount of scenarios you'd need to cover.
Another cool OSS component would be a scroller that automatically adds fade (smooth gradient) to scrollable…
If you nest rounded elements and apply the same radius, the corners will look a bit off.
Use this formula to make them "fit" each other:
innerRadius = outerRadius - padding
The difference is subtle, but it gives a more polished look to your component.
We transition the meta tag's value by interpolating the color steps and updating the color every 10ms. Matching the exact transition of the overlay was the hard part here. I might write more about it soon.
You can see the wip code here - .
Clients expect quick and complete search results. To facilitate this, we used Fuse.js and Algolia.
Fuse.js searches locally while Algolia combs through 22K+ institutions in under 10ms on the server and ranks results based on internal metrics such as usage and health rate.
Blurred Glow
Stack 2 same divs/images on top of each other and apply blur with some transform to one of them.
filter: blur(40px);
transform: scale(1.3) rotate(30deg);
It works with scrollable content and inputs. You can see more examples on GitHub - . It's not perfect yet, but the plan is to iron out all the bugs in the upcoming days as more people start using it.
@raunofreiberg
The icons don't have a border underneath as they need less separation, because they are visually distinct. Didn't know about it before and learned it from
@sjzhang_