๐Ÿš€ GiaSi Developer Portfolio

June 27, 2026 ยท View on GitHub

๐Ÿš€ GiaSi Developer Portfolio

A Modern, Interactive & Performance-Optimized Personal Portfolio

React Vite TailwindCSS Framer Motion

Stars Forks License Last Commit

๐ŸŒ Live Demo ย โ€ขย  โœจ Features ย โ€ขย  ๐Ÿ› ๏ธ Tech Stack ย โ€ขย  ๐Ÿš€ Get Started


Portfolio Preview


๐Ÿ“‹ Table of Contents


๐ŸŽฏ Overview

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

โœจ Features

๐ŸŽจ Design & User Experience

FeatureDescription
๐ŸŒŒ 3D Particle SystemInteractive particle backgrounds that respond to mouse movements
๐Ÿ”ท Geometric AnimationsCSS-powered floating shapes with smooth parallax effects
๐Ÿ–ฑ๏ธ Custom CursorUnique cursor that transforms on hover states
๐ŸŽญ Page TransitionsCinematic transitions between routes using Framer Motion
๐ŸŒ“ Theme SwitchingSmooth dark/light mode with persistent localStorage
โœจ Micro-interactionsDelightful hover effects and button animations

โš™๏ธ Functional Components

ComponentDescription
๐Ÿ“„ PDF Resume ViewerView resume directly in-browser with zoom & download options
๐Ÿ“Š GitHub CalendarReal-time contribution graph integration
๐Ÿ“ฌ Contact FormEmailJS/Formspree powered form with validation
๐Ÿท๏ธ Project FilteringDynamic category-based project showcase
โŒจ๏ธ Typewriter EffectEngaging animated text on hero section
๐Ÿ“ฑ Mobile NavigationSlide-out menu with gesture support

๐Ÿš€ Performance & SEO

FeatureDescription
โšก Code SplittingAutomatic chunk optimization with Vite
๐Ÿ–ผ๏ธ Lazy LoadingImages and components load on-demand
๐Ÿ” SEO OptimizedMeta tags, Open Graph, and structured data
๐Ÿ“Š Performance MonitorBuilt-in performance tracking utilities
๐Ÿ—œ๏ธ Optimized AssetsCompressed images and minified code

๐Ÿ› ๏ธ Tech Stack

Core Technologies

Core

Animation & UI

Animation Framer GSAP

Tools & Deployment

Tools


๐Ÿ“ฆ Full Dependencies List
PackageVersionDescription
react^19.0.0UI Library
react-dom^19.0.0React DOM renderer
react-router-dom^7.7.0Client-side routing
framer-motion^12.9.2Animation library
gsap^3.12.7Advanced animations
tailwindcss^4.1.8Utility-first CSS
zustand^5.0.3State management
react-hook-form^7.56.1Form handling
react-pdf^9.2.1PDF viewer
react-github-calendar^4.5.6GitHub contributions
lucide-react^0.525.0Icon library
react-icons^5.5.0Additional icons
sonner^2.0.3Toast notifications
emailjs-com^3.2.0Email service

๐Ÿ“ธ Screenshots

๐Ÿ  Home Page

Home Page

๐Ÿ‘จโ€๐Ÿ’ป About Section

About Section Projects

๐Ÿ“ฑ Mobile Responsive

Mobile View

๐Ÿ“ Project Structure

๐Ÿ“ฆ 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

๐Ÿš€ Getting Started

Prerequisites

Before you begin, ensure you have the following installed:

  • Node.js v18.0.0 or higher
  • npm v9.0.0 or higher (or yarn / pnpm)

Installation

1๏ธโƒฃ Clone the repository

git clone https://github.com/giasinguyen/GiaSi-Portfolio.git

2๏ธโƒฃ Navigate to project directory

cd GiaSi-Portfolio

3๏ธโƒฃ Install dependencies

npm install
# or
yarn install
# or
pnpm install

4๏ธโƒฃ Start development server

npm run dev

5๏ธโƒฃ Open in browser

http://localhost:5173

๐Ÿ“œ Available Scripts

ScriptCommandDescription
๐Ÿ”ง Devnpm run devStart development server with HMR
๐Ÿ—๏ธ Buildnpm run buildCreate production build
๐Ÿ‘๏ธ Previewnpm run previewPreview production build locally
๐Ÿ” Lintnpm run lintRun ESLint and auto-fix issues
๐Ÿงน Cleannpm run cleanRemove dist and cache folders
๐Ÿ“ฆ Build Prodnpm run build:prodClean + Production build

๐ŸŒ Deployment

This portfolio is configured for seamless deployment on Vercel:

Deploy with Vercel

Manual Deployment

# Build for production
npm run build

# Preview build locally
npm run preview

The dist/ folder contains the production-ready files.


๐Ÿค Contributing

Contributions make the open-source community amazing! Any contributions are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch
    git checkout -b feature/AmazingFeature
    
  3. Commit your Changes
    git commit -m 'โœจ Add some AmazingFeature'
    
  4. Push to the Branch
    git push origin feature/AmazingFeature
    
  5. Open a Pull Request

๐Ÿ“„ License

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...

๐Ÿ“ž Contact

Gia Si Nguyen โ€” Full Stack Developer

GitHub LinkedIn Email Website


๐ŸŒŸ If you found this project helpful, please give it a star!

Stars

Built with โค๏ธ and โ˜• by Gia Si Nguyen
ยฉ 2026 All Rights Reserved