Skip to content

giasinguyen/giasi-dev-portfolio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

96 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ 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

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

βš™οΈ Functional Components

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

πŸš€ Performance & SEO

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

πŸ› οΈ Tech Stack

Core Technologies

Core

Animation & UI

Animation Framer GSAP

Tools & Deployment

Tools


πŸ“¦ 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

πŸ“Έ Screenshots

🏠 Home Page

Home Page

πŸ‘¨β€πŸ’» About Section

About Section

🎨 Projects Gallery

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

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

🌐 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
Β© 2025 All Rights Reserved

About

A cutting-edge personal portfolio website showcasing modern web development practices. Built with React 19, featuring stunning animations, responsive design, and optimized performance for all devices.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors