A professional personal portfolio built with Next.js 15 (App Router), TypeScript, Tailwind CSS v4, and Framer Motion. Sky-blue and orange theme with light/dark mode.
next-themes)| Area | Choice |
|---|---|
| Framework | Next.js 15 (App Router) + TS |
| Styling | Tailwind CSS v4 |
| Animation | Framer Motion |
| Icons | lucide-react |
| Theming | next-themes |
# 1. Install dependencies
npm install
# 2. Configure the contact form (optional but recommended)
cp .env.example .env.local
# then add your free Web3Forms key to NEXT_PUBLIC_WEB3FORMS_KEY
# 3. Run the dev server
npm run dev
Open http://localhost:3000.
Add it to .env.local:
NEXT_PUBLIC_WEB3FORMS_KEY=your-access-key
All content lives in typed files under src/data/:
site.ts — name, role, contact details, socials, navigationskills.ts — skill groups and statsexperience.ts — education, work experience, summaryservices.ts — services offeredprojects.ts — portfolio projectsImages live in public/ (avatar at public/avatar.jpeg, project shots in public/projects/). Drop a resume.pdf into public/ to enable the resume download button.
npm run build
npm run start
Recommended host: Vercel (zero-config for Next.js). Add NEXT_PUBLIC_WEB3FORMS_KEY as an environment variable in the project settings.