A modern, elegant, and responsive personal portfolio website for Hafiz Muhammad Saad Khan β a Senior Android Engineer and Executive MBA Candidate.
- Modern Design: Inspired by Apple, Linear.app, and Notion
- Responsive: Fully responsive design that works on all devices
- Dark/Light Mode: Toggle between themes with smooth transitions
- Animations: Smooth animations and micro-interactions using Framer Motion
- SEO Optimized: Complete SEO setup with meta tags and Open Graph
- Performance: Optimized for fast loading and smooth performance
- Accessibility: Built with accessibility best practices
- Framework: React 18 with TypeScript
- Styling: Tailwind CSS
- Animations: Framer Motion
- Icons: Lucide React
- Build Tool: Vite
- Deployment: Ready for Vercel, Netlify, or GitHub Pages
saad-portfolio/
βββ public/
β βββ vite.svg
βββ src/
β βββ components/
β β βββ About.tsx
β β βββ Achievements.tsx
β β βββ Articles.tsx
β β βββ Contact.tsx
β β βββ Experience.tsx
β β βββ Footer.tsx
β β βββ Header.tsx
β β βββ Hero.tsx
β β βββ ThemeToggle.tsx
β βββ data/
β β βββ achievements.ts
β β βββ articles.ts
β β βββ experience.ts
β β βββ personal.ts
β βββ hooks/
β β βββ useTheme.ts
β βββ lib/
β β βββ utils.ts
β βββ App.tsx
β βββ main.tsx
β βββ index.css
βββ index.html
βββ package.json
βββ tailwind.config.js
βββ tsconfig.json
βββ vite.config.ts
- Clean hero banner with name and tagline
- Profile image placeholder
- Social media links
- Download resume button
- Smooth background animations
- Story-driven bio
- Technical expertise highlights
- Education information
- Relocation interests
- Vertical timeline layout
- Detailed project information
- Technologies used
- Key achievements
- Milestone cards with categories
- Statistics section
- Hover animations
- Article cards with categories
- Featured article banner
- Modal for full article reading
- Category filtering
- Working contact form
- Contact information
- Availability status
- Social links
- Node.js (v18 or higher)
- npm or yarn
-
Clone the repository
git clone <repository-url> cd saad-portfolio
-
Install dependencies
npm install
-
Start development server
npm run dev
-
Build for production
npm run build
-
Preview production build
npm run preview
Update the data files in src/data/ to customize:
personal.ts- Personal information and bioexperience.ts- Work experience and projectsachievements.ts- Key achievements and milestonesarticles.ts- Published articles and content
- Modify
tailwind.config.jsfor theme customization - Update
src/index.cssfor global styles - Customize component styles in individual component files
- Replace placeholder images in
public/andsrc/assets/ - Update resume file path in
personal.ts - Modify article content in
articles.ts
- Connect your GitHub repository to Vercel
- Deploy automatically on push to main branch
- Connect your GitHub repository to Netlify
- Set build command:
npm run build - Set publish directory:
dist
- Install gh-pages:
npm install --save-dev gh-pages - Add to package.json scripts:
"predeploy": "npm run build", "deploy": "gh-pages -d dist"
- Run:
npm run deploy
The portfolio is fully responsive and optimized for:
- Mobile devices (320px and up)
- Tablets (768px and up)
- Desktop (1024px and up)
- Large screens (1440px and up)
- Optimized bundle size
- Lazy loading for images
- Smooth animations with Framer Motion
- SEO optimized with meta tags
- Fast loading with Vite
npm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production buildnpm run lint- Run ESLint
- TypeScript for type safety
- ESLint for code quality
- Prettier for code formatting
- Tailwind CSS for styling
This project is open source and available under the MIT License.
Contributions are welcome! Please feel free to submit a Pull Request.
Hafiz Muhammad Saad Khan
- Email: saad.khan@example.com
- LinkedIn: linkedin.com/in/saad-khan
- GitHub: github.com/saad-khan
Built with β€οΈ using React, TypeScript, and Tailwind CSS