A modern, animated personal portfolio website built with Next.js 14, Tailwind CSS, and Framer Motion.
- Modern Stack: Built with Next.js 14, TypeScript, and Tailwind CSS
- Smooth Animations: Powered by Framer Motion for buttery-smooth transitions
- Responsive Design: Looks great on all devices
- Scrollspy Navigation: Active section highlighting as you scroll
- Dark Theme: Sleek dark mode with bold accent colors
- Performance Optimized: Static export for lightning-fast loading
- SEO Ready: Full meta tags, Open Graph, and structured data
- Node.js 18.17 or later
- npm, yarn, or pnpm
-
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Open http://localhost:3000 in your browser.
To create a static export for GitHub Pages:
npm run buildThe static files will be generated in the out/ directory.
This site is configured for automatic deployment to GitHub Pages using GitHub Actions.
-
Push to
mainbranch - The GitHub Actions workflow will automatically:- Install dependencies
- Build the static site
- Deploy to GitHub Pages
-
Enable GitHub Pages (first-time setup):
- Go to your repository Settings β Pages
- Under "Build and deployment", set Source to GitHub Actions
-
View your site at
https://<username>.github.ioor your custom domain
The deployment workflow (.github/workflows/deploy.yml) performs:
Checkout β Setup Node.js 20 β Install deps β Build β Deploy to Pages
If you prefer manual deployment:
# Build the static site
npm run build
# The `out/` directory contains the static files
# Upload these to any static hosting providerTo use a custom domain:
- Add your domain to the
CNAMEfile in the repository root - Configure DNS settings with your domain provider
- Enable HTTPS in GitHub Pages settings
- Gradient Text Effects: Beautiful animated gradients on headings
- Glass Morphism: Frosted glass effects on cards and navigation
- Glow Effects: Subtle glow animations on interactive elements
- Timeline Layout: Alternating timeline for work experience
- Floating Elements: Animated background orbs and decorations
- Scroll Progress: Visual scroll progress indicator at the top
- Framework: Next.js 14 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- Animations: Framer Motion
- Icons: Lucide React
- Deployment: Static Export (GitHub Pages ready)
βββ src/
β βββ app/
β β βββ globals.css # Global styles and Tailwind
β β βββ layout.tsx # Root layout with metadata
β β βββ page.tsx # Main page component
β βββ components/
β βββ AnimatedSection.tsx
β βββ EducationSection.tsx
β βββ ExperienceSection.tsx
β βββ Footer.tsx
β βββ HeroSection.tsx
β βββ Navigation.tsx
β βββ ScrollProgress.tsx
β βββ Timeline.tsx
β βββ index.ts
βββ public/ # Static assets
βββ .github/
β βββ workflows/
β βββ deploy.yml # GitHub Pages deployment workflow
βββ next.config.js # Next.js configuration
βββ tailwind.config.ts # Tailwind configuration
βββ package.json # Dependencies and scripts
βββ tsconfig.json # TypeScript configuration