A modern, responsive portfolio website built with Next.js 16, TypeScript, and Tailwind CSS.
- Modern Stack: Built with Next.js 16, React 19, and TypeScript
- Responsive Design: Optimized for all device sizes
- Performance: Lighthouse score optimized with image optimization and lazy loading
- Accessibility: WCAG compliant with proper ARIA labels and semantic HTML
- Type Safety: Strict TypeScript configuration with comprehensive type definitions
- Code Quality: ESLint configuration for consistent code style
- SEO Optimized: Meta tags, Open Graph, and structured data
- Dark Mode: Seamless light and dark theme design
- Node.js 18.0 or later
- pnpm (recommended package manager)
- Clone the repository:
git clone https://github.com/dheereshag/portfolio.git
cd portfolio- Install dependencies:
pnpm install- Run the development server:
pnpm dev- Open http://localhost:3000 in your browser.
pnpm dev- Start development serverpnpm build- Build for productionpnpm start- Start production serverpnpm lint- Run ESLintpnpm type-check- Run TypeScript type checking
├── app/ # Next.js App Router
│ ├── layout.tsx # Root layout & providers
│ ├── page.tsx # Home page
│ ├── globals.css # Global styles & theme tokens
│ ├── robots.ts # Robots configuration
│ └── sitemap.ts # Sitemap generator
├── components/ # Reusable components
│ ├── ui/ # UI primitives (shadcn/ui)
│ └── ... # Feature components
├── hooks/ # Custom React hooks
│ └── use-meta-color.ts # Theme meta color hook
├── lib/ # Utility functions and types
│ ├── constants.ts # App constants & JSON-LD schemas
│ ├── data.ts # Content data
│ ├── fonts.ts # Google Font configurations
│ ├── metadata.ts # SEO metadata
│ ├── types.ts # TypeScript definitions
│ └── utils.ts # Utility functions (cn helper)
└── public/ # Static assets
- Framework: Next.js 16
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: shadcn/ui
- Icons: Lucide React & React Icons
- Font: Geist
- Strict mode enabled
- Additional strict options for better type safety
- Path mapping configured for clean imports
- Extended Next.js and TypeScript configurations
- Custom rules for code quality
- Import ordering and React best practices
- Image optimization with multiple formats
- Package imports optimization
- Console removal in production builds
This project is open source and available under the MIT License.
Dheeresh Agarwal - da11@iitbbs.ac.in
Project Link: https://dheereshag.vercel.app
This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.