Personal portfolio website built with React to showcase my background, technical skills, and real-world project experience.
🔗 Live Demo: https://swaggyp7.github.io/ 📄 Résumé: Available on the website
- Modern, responsive single-page portfolio
- Project highlights with:
- Intro / Challenge / What I Did / Result structure
- Image gallery with fullscreen modal (keyboard + click support)
- Smooth scroll navigation with active section tracking
- Subtle animations with
prefers-reduced-motionsupport - Clean, maintainable data-driven structure (easy to update content)
- React (Functional Components + Hooks)
- Vite (Fast dev server & build tool)
- JavaScript (ES6+)
- HTML5 / CSS3
- Responsive layout (desktop / tablet / mobile)
- CSS animations & transitions
- Accessible interactions (keyboard navigation, ARIA attributes)
- Modal rendered via React Portal (full-page overlay)
- Git
- GitHub
- GitHub Pages
This project uses GitHub Actions for continuous integration and deployment.
- On every push to the
mainbranch:- Install dependencies
- Build the React app using Vite
- Automatically deploy the production build to GitHub Pages
- No manual build or upload required
- Always keeps the live site in sync with the repository
- Safe, repeatable deployment process
/
├── public/
│ └── projects/ # Project screenshots
├── src/
│ ├── App.jsx # Main portfolio layout
│ ├── data.js # Profile data
│ └── index.css
│ └── main.jsx # App entry
├── .github/workflows/
│ └── deploy.yml # GitHub Actions CI/CD workflow
├── package.json
├── vite.config.js
└── README.md