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!

Sentry blog image

Identify what makes your TTFB high so you can fix it

In the past few years in the web dev world, we’ve seen a significant push towards rendering our websites on the server. Doing so is better for SEO and performs better on low-powered devices, but one thing we had to sacrifice is TTFB.

Read more

Top comments (0)

AWS Security LIVE!

Tune in for AWS Security LIVE!

Join AWS Security LIVE! for expert insights and actionable tips to protect your organization and keep security teams prepared.

Learn More

👋 Kindness is contagious

Discover a treasure trove of wisdom within this insightful piece, highly respected in the nurturing DEV Community enviroment. Developers, whether novice or expert, are encouraged to participate and add to our shared knowledge basin.

A simple "thank you" can illuminate someone's day. Express your appreciation in the comments section!

On DEV, sharing ideas smoothens our journey and strengthens our community ties. Learn something useful? Offering a quick thanks to the author is deeply appreciated.

Okay