Skip to content

Repository files navigation

Rhythm Pahwa - Portfolio Website

A modern, performant portfolio website built with Next.js 14, featuring stunning animations, interactive elements, and optimized for exceptional user experience.

Next.js React Tailwind CSS Framer Motion

Features

  • Modern UI/UX - Clean, responsive design with smooth animations
  • Dark/Light Mode - Seamless theme switching with persistent preferences
  • Performance Optimized - Lazy loading, code splitting, and GPU-accelerated animations
  • Interactive Animations - Canvas-based particle effects with Intersection Observer optimization
  • Fully Responsive - Mobile-first design that works on all devices
  • Fast Loading - Optimized for Core Web Vitals with dynamic imports
  • Accessible - ARIA compliant and keyboard navigable

Tech Stack

  • Framework: Next.js 14 (App Router)
  • Styling: Tailwind CSS
  • Animations: Framer Motion
  • Icons: Lucide React
  • Font: Montserrat (Google Fonts)
  • Deployment: Vercel

Project Structure

rhythm-portfolio/
├── src/
│   └── app/
│       ├── components/        # Reusable components
│       │   ├── AnimatedBackground.jsx
│       │   ├── Hero.js
│       │   ├── Navbar.jsx
│       │   ├── Footer.js
│       │   └── ...
│       ├── context/          # React Context (Theme)
│       ├── about/            # About page
│       ├── skills/           # Skills page
│       ├── projects/         # Projects page
│       ├── contact/          # Contact page
│       └── styles/           # CSS modules
├── public/                   # Static assets
└── ...config files

Getting Started

Prerequisites

  • Node.js 18+
  • npm, yarn, pnpm, or bun

Installation

  1. Clone the repository:
git clone https://github.com/RhythmPahwa14/Rhythm-Portfolio.git
cd Rhythm-Portfolio
  1. Install dependencies:
npm install
# or
yarn install
# or
pnpm install
  1. Run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
  1. Open http://localhost:3000 in your browser

Build

Create an optimized production build:

npm run build
npm start

Performance Optimizations

  • Lazy Loading: Dynamic imports for route components
  • Canvas Optimization: Animations pause when not in viewport
  • GPU Acceleration: Transform and will-change CSS properties
  • Code Splitting: Automatic code splitting with Next.js
  • Image Optimization: Next.js Image component
  • Font Optimization: next/font with Montserrat

Customization

Theme Colors

Edit theme colors in src/app/globals.css:

.dark {
  --bg-primary: #111827;
  --text-primary: #f9fafb;
  /* ... */
}

Animation Speed

Adjust animation speeds in components:

const speed = 4; // Ball movement speed
const numDots = 20; // Number of animated dots

License

This project is open source and available under the MIT License.

Author

Rhythm Pahwa

Contributing

Contributions, issues, and feature requests are welcome! Feel free to check the issues page.

Show Your Support

Give a star if you like this project!


Built with Next.js and Tailwind CSS

About

My personal portfolio website built with Next.js and Tailwind CSS, showcasing my skills, projects, and experiences.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages