A modern, interactive personal portfolio website inspired by Brittany Chiang's design.
- 🌙 Dark/Light mode toggle with local storage persistence
- 📱 Fully responsive design (mobile, tablet, desktop)
- ⚡ Fast load times with optimized assets
- 🔧 Simple data configuration through JSON files
- 📊 Interactive sections with animations
- 🎨 Modern UI with smooth transitions
- Framework: React with Vite
- Styling: Tailwind CSS
- Animations: Framer Motion
- Icons: HeroIcons
- Hosting Options: GitHub Pages, Vercel, Netlify, or Azure Static Web Apps
- Node.js (v14+)
- npm or yarn
# Clone the repository
git clone https://github.com/kaushikgayal/portfolio.git
cd portfolio
# Install dependencies
npm install# Start the development server
npm run devVisit http://localhost:5173 to view the site.
# Generate a production build
npm run buildThe build artifacts will be stored in the dist/ directory.
-
Set the base in
vite.config.jsto your repository name:base: '/portfolio/' // Replace 'portfolio' with your repo name
-
Deploy using GitHub Actions:
- Create a
.github/workflows/deploy.ymlfile - Set up a workflow to build and deploy to gh-pages branch
- Create a
- Connect your GitHub repository
- Configure the build command:
npm run build - Set the publish directory:
dist
- Use the VS Code extension "Azure Static Web Apps"
- Follow the wizard to deploy
All content is stored in JSON files under src/data/:
config.json: General site configurationabout.json: About section contentexperience.json: Work experienceprojects.json: Portfolio projectsskills.json: Skills & technologies
To update content, simply modify these files - no code changes needed!