https://simplec0de.github.io/portfolio-01/
A modern, responsive portfolio template built with React, TypeScript, and Vite. Features smooth animations, optimized performance, and accessibility-first design.
- Modern Tech Stack: React 19, TypeScript, Vite 6
- Styled with Emotion: Utilizes
@emotion/styledfor component-based styling - Smooth Animations: Powered by Framer Motion
- Optimized Performance:
- Automatic code splitting
- Brotli & Gzip compression
- Lazy-loaded components
- Bundle size visualization
- Fully Responsive: Works seamlessly on all devices
- Accessibility: ARIA labels and semantic HTML
- Dark Mode Ready: Built-in theming support
- Clone the repository:
git clone https://github.com/simpleC0de/portfolio-01.git
cd portfolio-01- Install dependencies:
npm install- Start the development server:
npm run devEdit the following files to customize your portfolio:
-
src/components/sections/Hero.tsx:- Update your name, title, and description
- Modify social media links
-
src/components/sections/Projects.tsx:- Add your projects and their details
-
src/components/sections/Skills.tsx:- Update your skills and expertise
-
src/components/sections/Contact.tsx:- Customize contact information
- Theme customization:
src/styles/theme.ts - Global styles:
src/styles/GlobalStyles.tsx
This template is configured for GitHub Pages deployment by default. The vite.config.ts is set up with:
base: '/portfolio-01/' // Change this to your repo nameTo deploy:
- Update the
baseinvite.config.tsto match your repository name:
base: '/your-repo-name/'- Build the project:
npm run build- Deploy to GitHub Pages:
- Push to your GitHub repository
- Enable GitHub Pages in repository settings
- Select the
gh-pagesbranch as source
For other platforms (Vercel, Netlify, etc.):
- Remove or update the
baseproperty invite.config.ts - Follow the platform-specific deployment instructions
The project includes several optimization features:
- Code Splitting: Vendor chunks are automatically separated
manualChunks: {
vendor: ['react', 'react-dom', 'framer-motion', '@emotion/react', '@emotion/styled'],
icons: ['react-icons']
}-
Compression: Both Brotli and Gzip compression are enabled
- Brotli: Level 11 compression
- Gzip: Level 9 compression
- Threshold: 512 bytes
-
Bundle Analysis: Visualize your bundle size
npm run build
# Opens bundle analysis in browser automatically- Bundle size visualization with
rollup-plugin-visualizer - Compressed size reporting
- Chunk size warnings (limit: 1000kb)
npm run dev: Start development servernpm run build: Build for productionnpm run preview: Preview production buildnpm run lint: Lint code
- Node.js 18+
- npm 7+
MIT License - feel free to use this template for your portfolio!