🌐 Modern, animated portfolio website built with Next.js 16, Tailwind CSS v4, and Framer Motion.
- 🎨 Modern Design: Clean, responsive UI with smooth animations
- 🌊 Animated Background: Multiple gradient orbs with Framer Motion
- 📱 Fully Responsive: Mobile-first design that works on all devices
- ⚡ Fast & Optimized: Built with Next.js App Router for optimal performance
- 🎯 Framer Motion: Smooth animations and transitions throughout
- 🎭 Project Cards: Interactive cards with Lucide icons
- 💬 Contact Form: Ready to integrate with Formspree or EmailJS
- 🎬 Smooth Animations: Scroll-triggered animations on sections
| Category | Technology | Version |
|---|---|---|
| Framework | Next.js | 16.0.0 (App Router) |
| Styling | Tailwind CSS | v4 |
| Animations | Framer Motion | 12.23.24 |
| Icons | Lucide React | Latest |
| Language | TypeScript | 5 |
| Fonts | Geist Sans & Mono | Google Fonts |
my-portfolio/
├── app/
│ ├── about/ # About page route
│ │ └── page.tsx
│ ├── contact/ # Contact page route
│ │ └── page.tsx
│ ├── projects/ # Projects page route
│ │ └── page.tsx
│ ├── page.tsx # Home page
│ ├── layout.tsx # Root layout (Navbar/Footer)
│ └── globals.css # Global styles & Tailwind
├── components/
│ ├── Navbar.tsx # Fixed navigation bar
│ ├── Footer.tsx # Footer with social links
│ ├── BackgroundAnimation.tsx # Animated gradient background
│ ├── Hero.tsx # Home hero section
│ ├── About.tsx # About section
│ ├── Services.tsx # Services cards
│ ├── Projects.tsx # Projects grid
│ ├── ProjectCard.tsx # Individual project card
│ └── ContactForm.tsx # Contact form
├── public/
│ └── assim.jpg # Profile photo
└── README.md
- Clone the repository (or use your existing folder):
git clone <your-repo-url>
cd my-portfolio- Install dependencies:
npm install- Start development server:
npm run dev- Open your browser: Visit http://localhost:3000
npm run build
npm startHero Section (components/Hero.tsx):
<h1>Hi, I'm Your Name 👋</h1>
<p>Your introduction text...</p>About Section (components/About.tsx):
- Edit the bio paragraph
- Add/remove skill tags
Footer (components/Footer.tsx):
- Update GitHub/LinkedIn URLs
- Add more social links
Edit the projects array in components/Projects.tsx:
const projects: Project[] = [
{
title: "Your Project Name",
description: "Brief description of your project",
tech: ["Next.js", "TypeScript", "Tailwind"],
demo: "https://your-demo-url.com",
github: "https://github.com/username/repo",
},
// Add more projects...
];The contact form is set up but needs integration with a service:
Option A: Formspree (Recommended for beginners)
- Sign up at formspree.io
- Create a form and get your endpoint
- Add to
components/ContactForm.tsx:
const response = await fetch("YOUR_FORMSPREE_ENDPOINT", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ name, email, message }),
});Option B: EmailJS
- Sign up at emailjs.com
- Follow their React integration guide
- Add the EmailJS SDK
Replace public/assim.jpg with your own photo (ideally 400x400px).
- Create
components/ThemeToggle.tsx - Use CSS variables in
globals.css - Add a toggle button in the Navbar
- Create
app/blog/page.tsx - Use MDX for content
- Add blog cards to the home page
All components use Framer Motion. Edit animation options:
<motion.div
initial={{ opacity: 0, y: 20 }}
animate={{ opacity: 1, y: 0 }}
transition={{ duration: 0.6 }}
>| Command | Description |
|---|---|
npm run dev |
Start development server |
npm run build |
Build for production |
npm start |
Start production server |
npm run lint |
Run ESLint |
- Push to GitHub
- Go to vercel.com
- Click "Import Project"
- Select your repository
- Deploy! 🎉
- Netlify: Similar to Vercel
- AWS Amplify: Full AWS integration
- Railway: Simple container-based hosting
MIT © 2025 Assim VS
- Next.js: nextjs.org
- Tailwind CSS: tailwindcss.com
- Framer Motion: framer.com/motion
- Lucide Icons: lucide.dev
Built with ❤️ by Assim VS