A modern, responsive portfolio website built with cutting-edge web technologies to showcase my projects, skills, and professional experience.
- Responsive Design: Optimized for all device sizes and screen resolutions
- Modern UI/UX: Clean, professional interface with smooth animations
- Fast Performance: Built with Next.js for optimal loading speeds
- SEO Optimized: Server-side rendering and meta tag optimization
- Interactive Elements: Engaging user experience with dynamic components
- Project Showcase: Detailed portfolio section with project descriptions
- Skills Section: Comprehensive display of technical capabilities
- Contact Integration: Easy ways for visitors to get in touch
- Dark/Light Mode: Theme switching capability (if implemented)
- Mobile-First: Designed with mobile users as the priority
- React - UI library for building interactive interfaces
- Next.js - React framework for production-ready applications
- TypeScript - Type-safe JavaScript for better development experience
- CSS3 - Modern styling with custom properties and animations
- JavaScript (ES6+) - Enhanced functionality and interactivity
- Node.js - Runtime environment for server-side logic
- API Routes - Next.js built-in API functionality
- VS Code - Primary development environment
- Git - Version control
- GitHub - Repository hosting and collaboration
-
Clone the repository
git clone https://github.com/abdulahad-2/portfolio.git cd portfolio -
Install dependencies
npm install # or yarn install -
Set up environment variables (if needed)
cp .env.example .env.local # Edit .env.local with your configuration -
Run the development server
npm run dev # or yarn dev -
Open your browser Navigate to http://localhost:3000 to view the application.
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLint
npm run type-check # Run TypeScript checksThe application is optimized for deployment on platforms like:
- Vercel (recommended for Next.js)
- Netlify
- GitHub Pages
- Heroku
portfolio/
├── .next/ # Next.js build output (auto-generated)
├── node_modules/ # Dependencies (auto-generated)
├── public/ # Static assets served at root
│ ├── images/ # Image files and screenshots
│ ├── icons/ # Favicon and app icons
│ └── ss.png # Main portfolio screenshot
├── src/ # Source code directory
│ ├── app/ # App Router directory (Next.js 13+)
│ │ ├── globals.css # Global styles
│ │ ├── layout.tsx # Root layout component
│ │ ├── page.tsx # Home page
│ │ └── favicon.ico # App favicon
│ ├── components/ # Reusable React components
│ │ ├── ui/ # Base UI components
│ │ │ ├── button.tsx
│ │ │ ├── card.tsx
│ │ │ └── input.tsx
│ │ ├── Header.tsx # Site header
│ │ ├── Footer.tsx # Site footer
│ │ ├── Hero.tsx # Hero section
│ │ ├── About.tsx # About section
│ │ ├── Skills.tsx # Skills section
│ │ ├── Projects.tsx # Projects showcase
│ │ ├── Experience.tsx # Experience section
│ │ └── Contact.tsx # Contact form
│ ├── lib/ # Utility functions
│ │ └── utils.ts # Helper functions
│ ├── data/ # Static data and content
│ │ ├── projects.ts # Projects information
│ │ ├── skills.ts # Skills data
│ │ └── experience.ts # Work experience
│ └── types/ # TypeScript type definitions
│ └── index.ts # Type definitions
├── .env.local # Environment variables (gitignored)
├── .env.example # Environment variables template
├── .eslintrc.json # ESLint configuration
├── .gitignore # Git ignore rules
├── components.json # shadcn/ui configuration (if used)
├── next.config.js # Next.js configuration
├── package.json # Dependencies and scripts
├── package-lock.json # Dependency lock file
├── README.md # Project documentation
├── tailwind.config.js # Tailwind CSS configuration
└── tsconfig.json # TypeScript configuration
- Hero Section: Eye-catching introduction with personal branding
- About Me: Professional background and personal story
- Skills: Technical skills with proficiency levels
- Projects: Portfolio showcase with live demos and source code
- Experience: Professional experience timeline
- Contact: Multiple ways to connect and reach out
To customize the portfolio for your own use:
- Update homepage information in
/src/app/page.tsx - Replace images in
/public/ - Modify color schemes in
/src/styles/globals.css - Update project data in
/src/data/projects.ts
Create a .env.local file with the following variables (if applicable):
NEXT_PUBLIC_SITE_URL=your-domain.com
EMAILJS_SERVICE_ID=your-service-id
EMAILJS_TEMPLATE_ID=your-template-idContributions are welcome! Please feel free to submit a Pull Request. For major changes:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Abdul Ahad
- GitHub: @abdulahad-2
- Portfolio: (https://ahad-dev.vercel.app/)
- Email: ahadking6152@example.com
- LinkedIn: https://www.linkedin.com/in/abdul-ahad-7908a82b4/
- Thanks to the React and Next.js communities for excellent documentation
- Inspiration from various portfolio designs across the web
- Open source libraries and tools that made this project possible
⭐ Star this repository if you found it helpful!
Last updated: July 2025
