A sleek, responsive personal portfolio website built with React, TypeScript, and Tailwind CSS, featuring smooth animations and a modern dark theme.
- Responsive Design - Optimized for all devices (mobile, tablet, desktop)
- Dark Theme - Modern dark UI with custom accent colors
- Smooth Animations - Engaging transitions and animations using Framer Motion
- Section-Based Layout - Organized content in well-defined sections
- Interactive Elements - Animated skill bars, project cards with hover effects
- Accessible Navigation - Mobile-friendly navigation with smooth scrolling
- Live Chat - Integrated Tidio chat bot for instant messaging
- Contact Form - EmailJS integration for direct message delivery
-
Frontend
- React
- TypeScript
- Tailwind CSS
- Framer Motion (animations)
- Lucide React (icons)
- Wouter (routing)
-
Third-Party Services
- EmailJS (contact form)
- Tidio (chat bot)
-
Development Tools
- Vite (build tool)
- ESLint (code quality)
- Hero - Engaging introduction with animated elements
- About - Short bio and introduction
- Experience - Professional experience with timeline layout
- Projects - Showcase of highlighted projects with links
- Skills - Visual representation of technical and soft skills including:
- Programming Languages: Python, Java, C, JavaScript
- Web Development: HTML/CSS, Flask
- Data Science: Machine Learning, NLP, Data Analysis
- Specialized: Vibe Coding
- Soft Skills: Communication, Problem Solving, Public Speaking
- Education - Academic background and certifications
- Contact - Secure contact form and personal information
- Node.js 16+
- npm or yarn
-
Clone the repository
git clone https://github.com/pathanmofaizan/portfolio-website.git cd portfolio-website -
Install dependencies
npm install # or yarn install -
Install cross-env (needed for Windows compatibility)
npm install --save-dev cross-env # or yarn add --dev cross-env -
Set up environment variables
- Create a
.env.localfile in the client directory - Add the following variables:
VITE_EMAILJS_SERVICE_ID=your_service_id VITE_EMAILJS_TEMPLATE_ID=your_template_id VITE_EMAILJS_PUBLIC_KEY=your_public_key VITE_CONTACT_EMAIL=your_email@example.com
- Create a
-
Start the development server
npm run dev # or yarn dev -
Open http://localhost:5000 in your browser
portfolio-website/
├── client/ # Frontend source files
│ ├── src/
│ │ ├── components/ # React components
│ │ ├── hooks/ # Custom React hooks
│ │ ├── lib/ # Utility functions, data
│ │ ├── pages/ # Page components
│ │ ├── App.tsx # Main app component
│ │ └── main.tsx # Entry point
│ └── index.html # HTML template
├── server/ # Backend files (API routes)
├── shared/ # Shared utilities/types
├── tailwind.config.ts # Tailwind configuration
├── tsconfig.json # TypeScript configuration
└── package.json # Project dependencies
The main color scheme is defined in client/src/index.css:
- Primary: #1A1A1A (rich black)
- Secondary: #2D2D2D (dark grey)
- Accent: #6366F1 (indigo)
- Highlight: #8B5CF6 (purple)
- Text: #FFFFFF (white)
Update your personal information in client/src/lib/data.ts
- EmailJS: Update the service credentials in the
.env.localfile - Tidio: The chat widget script is included in
index.html
The portfolio is fully responsive with a special mobile navigation menu:
- Hamburger menu for navigation on small screens
- Optimized layout for mobile viewing
- Touch-friendly interactive elements
- Repositioned chat widget for better mobile experience
- Environment variables for sensitive information
- Form validation using Zod
- Protected email addresses from scrapers
- Loading states for better UX
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
Pathan Mo. Faizan Khan - linkedin.com/in/pathan-mo-faizan-khan
Project Link: https://github.com/pathanmofaizan/portfolio-website