A modern, responsive portfolio website built with Next.js 15, TypeScript, and Tailwind CSS.
- Modern Stack: Built with Next.js 15, 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 and Prettier configuration for consistent code style
- SEO Optimized: Meta tags, Open Graph, and structured data
- Dark Mode: Beautiful 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 server with Turbopackpnpm build- Build for productionpnpm start- Start production serverpnpm lint- Run ESLintpnpm lint:fix- Fix ESLint errorspnpm type-check- Run TypeScript type checkingpnpm format- Format code with Prettierpnpm format:check- Check code formattingpnpm precommit- Run type check, lint, and format check
├── app/ # Next.js app directory
│ ├── layout.tsx # Root layout
│ ├── page.tsx # Home page
│ └── globals.css # Global styles
├── components/ # Reusable components
│ ├── ui/ # UI components (shadcn/ui)
│ └── ... # Feature components
├── lib/ # Utility functions and types
│ ├── constants.ts # App constants
│ ├── data.ts # Static data
│ ├── hooks.ts # Custom React hooks
│ ├── types.ts # TypeScript types
│ └── utils.ts # Utility functions
└── public/ # Static assets
- Framework: Next.js 15
- 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.