Metaverse Landing Website
Thursday, May 18, 2023
I recently embarked on a project to build a modern, animated website using Next.js, Framer Motion, and Tailwind CSS. As someone relatively new to these technologies, it proved an incredible learning experience that really expanded my skills. In this post, I'll share some of the key things I learned through the process.
Next.js immediately impressed me with its React framework specifically optimized for production websites and web apps. The file-based routing, pre-rendering, and SSR support are fantastic. Setting up a new Next project was smooth, and I appreciated the structured pages directory and built-in API routes.


For animations, I relied on the animation library Framer Motion. It's designed for React with an intuitive API that makes creating even complex animations feel straightforward. I loved experimenting with different variants and transitions to animate page content.
My workflow for animations was to first design the page layouts in Figma. I could then easily translate those designs into React components, and add Framer Motion properties to make them come to life with entrances, exits, scrolling effects, and more.
Implementing smooth scroll anchoring and animated navigation was a challenge that required some custom hooks and state management. But the end result was worth it, creating a seamless one-page site experience.
Tailwind CSS was amazing for rapid styling thanks to its utility-first workflow. I could apply classes like flex, bg-gray-200, text-center directly in the JSX. This let me move much faster compared to traditional CSS.


Debugging and optimization was crucial as the site grew. Next.js has fantastic developer tools for identifying bottlenecks. I improved performance with route-level code splitting, image optimization, and avoiding unnecessary re-renders.
Deploying on Vercel was incredibly quick and easy thanks to their tight Next.js integration. I could push changes and see them live within seconds!
Overall, building this animated website was a phenomenal way to level up my Next.js, Framer Motion and general web development skills. I'm thrilled to have a blazing fast, modern site in my portfolio, and I'm excited to continue creating with these amazing tools.