- Overview
- Features
- Tech Stack
- Screenshots
- Project Structure
- Getting Started
- Available Scripts
- Deployment
- Contributing
- License
- Contact
Welcome to my Personal Developer Portfolio β a meticulously crafted website that showcases my journey, skills, and projects as a Full Stack Developer. This portfolio is more than just a resume; it's an interactive experience built with cutting-edge web technologies.
| β‘ | Lightning Fast | Powered by Vite 6 with optimized bundle splitting and lazy loading |
| π± | Fully Responsive | Pixel-perfect design from mobile devices to ultra-wide screens |
| π¨ | Stunning Animations | Smooth transitions with Framer Motion & GSAP |
| π | Dark/Light Mode | System-aware theme with seamless switching |
| βΏ | Accessible | WCAG compliant with keyboard navigation support |
| Feature | Description |
|---|---|
| π 3D Particle System | Interactive particle backgrounds that respond to mouse movements |
| π· Geometric Animations | CSS-powered floating shapes with smooth parallax effects |
| π±οΈ Custom Cursor | Unique cursor that transforms on hover states |
| π Page Transitions | Cinematic transitions between routes using Framer Motion |
| π Theme Switching | Smooth dark/light mode with persistent localStorage |
| β¨ Micro-interactions | Delightful hover effects and button animations |
| Component | Description |
|---|---|
| π PDF Resume Viewer | View resume directly in-browser with zoom & download options |
| π GitHub Calendar | Real-time contribution graph integration |
| π¬ Contact Form | EmailJS/Formspree powered form with validation |
| π·οΈ Project Filtering | Dynamic category-based project showcase |
| β¨οΈ Typewriter Effect | Engaging animated text on hero section |
| π± Mobile Navigation | Slide-out menu with gesture support |
| Feature | Description |
|---|---|
| β‘ Code Splitting | Automatic chunk optimization with Vite |
| πΌοΈ Lazy Loading | Images and components load on-demand |
| π SEO Optimized | Meta tags, Open Graph, and structured data |
| π Performance Monitor | Built-in performance tracking utilities |
| ποΈ Optimized Assets | Compressed images and minified code |
π¦ Full Dependencies List
| Package | Version | Description |
|---|---|---|
react |
^19.0.0 | UI Library |
react-dom |
^19.0.0 | React DOM renderer |
react-router-dom |
^7.7.0 | Client-side routing |
framer-motion |
^12.9.2 | Animation library |
gsap |
^3.12.7 | Advanced animations |
tailwindcss |
^4.1.8 | Utility-first CSS |
zustand |
^5.0.3 | State management |
react-hook-form |
^7.56.1 | Form handling |
react-pdf |
^9.2.1 | PDF viewer |
react-github-calendar |
^4.5.6 | GitHub contributions |
lucide-react |
^0.525.0 | Icon library |
react-icons |
^5.5.0 | Additional icons |
sonner |
^2.0.3 | Toast notifications |
emailjs-com |
^3.2.0 | Email service |
π¦ GiaSi-Portfolio
βββ π public/
β βββ π manifest.json # PWA manifest
β βββ π sw.js # Service worker
β βββ π documents/ # PDF files
β
βββ π src/
β βββ π components/
β β βββ π About/ # About section
β β β βββ About.jsx
β β β βββ GitHubContributions.jsx
β β β
β β βββ π Contact/ # Contact form
β β β βββ Contact.jsx
β β β
β β βββ π Home/ # Landing page
β β β βββ Home.jsx
β β β βββ HeroModel.jsx
β β β βββ MobileHome.jsx
β β β βββ TypeWriter.jsx
β β β
β β βββ π Layout/ # Layout components
β β β βββ π Background/ # Visual effects
β β β βββ π Mobile/ # Mobile-specific
β β β βββ π Navigation/ # Navbar & Footer
β β β βββ π Utilities/ # Helpers
β β β βββ π Viewers/ # PDF viewers
β β β
β β βββ π Projects/ # Project showcase
β β βββ π Resume/ # Resume viewer
β β βββ π TechStack/ # Skills display
β β βββ π UI/ # Reusable UI
β β
β βββ π context/ # React contexts
β βββ π data/ # Static data (JSON)
β βββ π hooks/ # Custom hooks
β βββ π utils/ # Utility functions
β β
β βββ π App.jsx # Root component
β βββ π App.css # Global styles
β βββ π main.jsx # Entry point
β βββ π index.css # Base styles
β
βββ π index.html # HTML template
βββ π vite.config.js # Vite configuration
βββ π tailwind.config.js # Tailwind configuration
βββ π eslint.config.js # ESLint rules
βββ π vercel.json # Vercel deployment
βββ π package.json # Dependencies
Before you begin, ensure you have the following installed:
- Node.js
v18.0.0or higher - npm
v9.0.0or higher (or yarn / pnpm)
1οΈβ£ Clone the repository
git clone https://github.com/giasinguyen/GiaSi-Portfolio.git2οΈβ£ Navigate to project directory
cd GiaSi-Portfolio3οΈβ£ Install dependencies
npm install
# or
yarn install
# or
pnpm install4οΈβ£ Start development server
npm run dev5οΈβ£ Open in browser
http://localhost:5173
| Script | Command | Description |
|---|---|---|
| π§ Dev | npm run dev |
Start development server with HMR |
| ποΈ Build | npm run build |
Create production build |
| ποΈ Preview | npm run preview |
Preview production build locally |
| π Lint | npm run lint |
Run ESLint and auto-fix issues |
| π§Ή Clean | npm run clean |
Remove dist and cache folders |
| π¦ Build Prod | npm run build:prod |
Clean + Production build |
This portfolio is configured for seamless deployment on Vercel:
# Build for production
npm run build
# Preview build locally
npm run previewThe dist/ folder contains the production-ready files.
Contributions make the open-source community amazing! Any contributions are greatly appreciated.
- Fork the Project
- Create your 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.
MIT License
Copyright (c) 2025 Gia Si Nguyen
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software...
Β© 2025 All Rights Reserved



