A modern, single-page personal website built with Next.js, React, and Tailwind CSS.
- Clean, minimalist design with dark theme
- Animated floating dots background
- Fully responsive across all devices
- Smooth scroll navigation
- Optimized performance with Next.js App Router
- TypeScript for type safety
- Next.js 16 (App Router)
- React 19
- TypeScript
- Tailwind CSS
- Canvas API for background animation
- Node.js 18 or higher
- npm or yarn
# Install dependencies
npm install
# Run development server
npm run dev
# Build for production
npm run build
# Start production server
npm startOpen http://localhost:3000 to view the site.
whoffmandev/
├── app/
│ ├── globals.css # Global styles and Tailwind directives
│ ├── layout.tsx # Root layout with metadata
│ └── page.tsx # Main page component
├── components/
│ ├── BackgroundDots.tsx # Animated background component
│ ├── Navigation.tsx # Fixed navigation bar
│ ├── Hero.tsx # Hero section
│ ├── About.tsx # About section
│ ├── Projects.tsx # Projects showcase
│ └── Contact.tsx # Contact section
└── public/ # Static assets
Edit the component files in /components to update:
- Personal information in
Hero.tsx - Bio and focus areas in
About.tsx - Project list in
Projects.tsx - Contact details and social links in
Contact.tsx
All styling uses Tailwind CSS utility classes. The color scheme uses:
- Background:
neutral-900toneutral-950 - Text:
neutral-100toneutral-400 - Accents: Customizable in components
Adjust the floating dots in BackgroundDots.tsx:
- Dot count: Modify the
dotCountcalculation - Speed: Change
vxandvyvalues - Opacity: Adjust
fillStylealpha value
- Lightweight bundle with no external UI libraries
- Optimized animations using
requestAnimationFrame - Server-side rendering with Next.js
- Automatic image optimization
- Code splitting by route
Deploy to Vercel (recommended):
# Install Vercel CLI
npm i -g vercel
# Deploy
vercelOr deploy to any hosting platform that supports Next.js.
ISC