DEV Community

Cover image for How I Created a Stunning Portfolio with Next.js, Tailwind CSS, and Framer Motion
Arish N
Arish N

Posted on

How I Created a Stunning Portfolio with Next.js, Tailwind CSS, and Framer Motion

Before we dive into the details, make sure to subscribe to my YouTube channel, 'Click to Gain,' for exclusive tutorials, templates, and tips to elevate your web development skills!

Creating a modern, dynamic, and responsive portfolio can seem daunting, but with the right tools, it’s not only achievable but can also be fun. In this blog, I'll walk you through how I built my portfolio website using Next.js, Tailwind CSS, and Framer Motion. Plus, you’ll learn how you can grab this template and watch the complete tutorial on my channel.

Why Choose Next.js, Tailwind CSS, and Framer Motion?

Next.js offers seamless server-side rendering and a powerful development experience for building high-performance websites.

Tailwind CSS provides a utility-first approach, enabling rapid styling with minimal custom CSS.

Framer Motion brings animations to life with ease, ensuring a smooth user experience.

The Journey of Building the Portfolio

Setting Up the Project
To kickstart the project, I used the create-next-app command for a quick setup:

npx create-next-app@latest my-portfolio
cd my-portfolio

I then integrated Tailwind CSS for styling:

npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init

Configuring Tailwind to work with Next.js was simple, involving basic setup in tailwind.config.js and importing the styles into globals.css.

Crafting the Layout and Components
I designed a clean layout focusing on essential sections—hero, projects, and contact. Using Tailwind CSS, I could create responsive and visually appealing components without writing much custom CSS.

Adding Smooth Animations with Framer Motion
I wanted to add subtle animations to enhance the user experience. Framer Motion made this effortless:

`import { motion } from 'framer-motion';

const HeroSection = () => (
<motion.div
initial={{ opacity: 0 }}
animate={{ opacity: 1 }}
transition={{ duration: 1 }}

<h1>Welcome to My Portfolio</h1>


);`

This simple animation gave the hero section a polished, professional feel.

Integrating EmailJS for Contact Forms
To ensure visitors can reach out directly through the website, I integrated EmailJS, making form submissions straightforward without needing a backend server.

Get Your Copy and Learn More

You can purchase this full-featured template that includes a complete Figma file as a gift for customization. Visit My Shop to grab your copy. Don’t forget to check out my detailed video tutorial on this build for a step-by-step guide on how you can make it your own!

Final Thoughts

Creating a portfolio with Next.js, Tailwind CSS, and Framer Motion combines performance, aesthetic appeal, and interactive elements seamlessly. Whether you're a developer looking to showcase your work or a creative professional wanting to stand out, this template has got you covered.

Subscribe to my YouTube channel for more tutorials, insights, and tips to level up your web development game. Let's build something amazing together!

Top comments (0)