DEV Community

Mohit Decodes
Mohit Decodes

Posted on

πŸ’Ό Build a Portfolio Website using React + Tailwind (2025)

In 2025, having a personal portfolio isn’t optional β€” it’s your digital resume, project hub, and career elevator.

In this guide, I’ll show you how to build a stunning, modern, and responsive developer portfolio using ReactJS + Tailwind CSS β€” the tech stack loved by modern devs.


πŸ›  Why React + Tailwind?

βœ… ReactJS: Component-based, fast, and widely used in real-world projects.

βœ… Tailwind CSS: Utility-first framework that helps you build custom designs quickly.

Together, they help you:

  • Build faster
  • Customize freely
  • Keep your code clean

πŸ”§ Tools & Tech Stack

  • React 19 (Latest version)
  • Tailwind CSS 3+
  • Vite or Create React App
  • React Router (for navigation)
  • GitHub (for hosting code)
  • Vercel or Netlify (for deployment)

πŸ—‚οΈ Folder Structure

portfolio/
β”œβ”€β”€ public/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ pages/
β”‚   β”œβ”€β”€ assets/
β”‚   β”œβ”€β”€ App.jsx
β”‚   └── index.js
β”œβ”€β”€ tailwind.config.js
β”œβ”€β”€ postcss.config.js
β”œβ”€β”€ package.json
└── README.md
Enter fullscreen mode Exit fullscreen mode

🧱 Key Pages to Build

🏠 Home

  • Short intro, hero section, call to action
  • Highlight your name, title, and expertise

πŸ‘¨β€πŸ’» About

  • Your journey, passion, and tech stack

🧰 Projects

  • 3–5 top projects
  • Description, tech used, live link, GitHub link

πŸ“ž Contact

  • Email, social links, or contact form

🎨 Tailwind Tips for Styling

  • Use flex, grid, and gap-4 for layout
  • Use dark: variant for dark mode
  • Use hover:, transition, and shadow for animations
  • Mobile-first: use responsive classes like md:text-xl

πŸ”„ Add Navigation with React Router

import { BrowserRouter, Routes, Route } from 'react-router-dom';

<BrowserRouter>
  <Routes>
    <Route path="/" element={<Home />} />
    <Route path="/about" element={<About />} />
    <Route path="/projects" element={<Projects />} />
    <Route path="/contact" element={<Contact />} />
  </Routes>
</BrowserRouter>
Enter fullscreen mode Exit fullscreen mode

🌐 Deploying Your Portfolio

Option 1: Vercel

  • Connect GitHub β†’ Deploy β†’ Done

Option 2: Netlify

  • Drag and drop your build folder
  • Or connect your repo for continuous deployment

πŸ“Œ Bonus Features to Add

  • Dark mode toggle (useState)
  • Scroll animations using Framer Motion
  • Downloadable resume link
  • SEO metadata using react-helmet
  • GitHub pinned repositories with GitHub API

πŸš€ Final Tips

βœ… Keep it simple but impressive

βœ… Use real projects, not just clones

βœ… Highlight your tech stack

βœ… Mobile-first design is a must

βœ… Keep updating it every 3–6 months


πŸ‘¨β€πŸ’» Example Project Links

🌐 Live: yourname.dev

πŸ’» GitHub: github.com/mohitdjcet/portfolio


πŸ“Œ Follow @MohitDecodes for tutorials on React, Tailwind, and real-world developer projects.

Top comments (0)