A modern, responsive portfolio website built with React, Tailwind CSS, and Framer Motion.
- 🎨 Modern Design: Clean, professional design with smooth animations
- 📱 Responsive: Fully responsive design that works on all devices
- 🌙 Dark Mode: Toggle between light and dark themes
- ⚡ Fast: Built with Vite for optimal performance
- 🎭 Animations: Smooth transitions and interactions with Framer Motion
- 📧 Contact Form: Ready-to-use contact form (needs backend integration)
- Frontend: React 19, Tailwind CSS
- Animations: Framer Motion
- Icons: Lucide React
- Build Tool: Vite
- Styling: Tailwind CSS with custom design system
src/
├── components/ # React components
│ ├── Hero.jsx # Hero section
│ ├── About.jsx # About section
│ ├── Skills.jsx # Skills section
│ ├── Experience.jsx # Experience timeline
│ ├── Projects.jsx # Projects showcase
│ ├── Education.jsx # Education section
│ ├── Contact.jsx # Contact form
│ ├── Navbar.jsx # Navigation bar
│ └── Footer.jsx # Footer
├── data/ # Data files
│ ├── personalInfo.js # Personal information
│ ├── skills.js # Skills data
│ ├── experience.js # Work experience
│ ├── projects.js # Projects data
│ └── education.js # Education data
├── lib/ # Utility functions
│ └── utils.js # Helper functions
└── App.jsx # Main app component
-
Install dependencies:
npm install
-
Start development server:
npm run dev
-
Build for production:
npm run build
Update your personal information in src/data/personalInfo.js:
- Name, title, email, phone
- Bio and description
- Social media links
- Resume URL
Modify your skills in src/data/skills.js:
- Frontend technologies
- Backend technologies
- Tools and frameworks
- Soft skills
Update your work experience in src/data/experience.js:
- Company names and positions
- Job descriptions and achievements
- Technologies used
Add your projects in src/data/projects.js:
- Project titles and descriptions
- Images and links
- Technologies used
- GitHub and live demo URLs
Update your education in src/data/education.js:
- Degrees and certifications
- Institutions and dates
- Descriptions
The contact form is ready but needs backend integration. You can use:
- Formspree: Simple form handling service
- EmailJS: Send emails directly from the frontend
- Custom backend: Build your own API endpoint
- Sign up at Formspree
- Create a new form
- Update the form action in
Contact.jsx
- Sign up at EmailJS
- Install EmailJS:
npm install @emailjs/browser - Update the form submission in
Contact.jsx
The project can be deployed to any static hosting service:
- Vercel:
vercel --prod - Netlify: Connect your GitHub repository
- GitHub Pages: Use GitHub Actions
- Firebase Hosting:
firebase deploy1
This project is open source and available under the MIT License.
Steve Zhang - torontobing@hotmail.com
Project Link: https://github.com/rocketbing/react-portfolio