Welcome to my professional portfolio website built with Next.js! This project showcases my skills, services, and professional projects in a modern, interactive interface with smooth animations and responsive design. 😊
- 🎨 Modern UI with smooth animations using GSAP and Framer Motion
- 📱 Fully responsive design that looks great on all devices
- 🖱️ Custom cursor and interactive elements
- 🔄 Smooth scrolling experience with React Lenis
- 📂 Dynamic project pages with detailed case studies
- 🌐 SEO-friendly structure
- 📊 Service showcase section
- 📞 Contact form for potential clients
- Next.js - React framework with file-based routing
- TypeScript - For type safety and better developer experience
- SASS/SCSS - For component-level styling with modules
- GSAP - For advanced animations
- Framer Motion - For interactive UI components
- React Lenis - For smooth scrolling
- Node.js (v14 or later)
- npm or yarn
-
Clone this repository:
git clone https://github.com/metimol/portfolio.git cd portfolio -
Install dependencies:
npm install # or yarn install -
Run the development server:
npm run dev # or yarn dev -
Open http://localhost:3000 with your browser to see the portfolio in action! 🎉
components/ # Reusable UI components organized by page
├── AboutPage/ # Components for About page
├── HomePage/ # Components for Home page
├── ProjectPage/ # Components for Project pages
├── ContactPage/ # Contact page components
├── Button/ # Reusable button component
└── ...
data/ # Static data like project information
libs/ # External library configurations
pages/ # Next.js pages
public/ # Static assets
styles/ # Global styles and variables
utils/ # Utility functions
- Projects: Edit the
data/projectsData.tsfile to update your project information - Images: Replace images in the
public/imagesdirectory with your own - Content: Modify the component files to update text content
- Styling: Adjust SCSS variables in
styles/variables.scssfor global style changes
The easiest way to deploy your portfolio is using Vercel:
- Create an account on Vercel if you don't have one
- Connect your GitHub repository
- Click "Import Project" and select your portfolio repository
- Deploy! 🚀
You can also deploy to other platforms like Netlify, AWS Amplify, or any hosting provider that supports Next.js applications:
-
Build the production version:
npm run build # or yarn build -
Start the production server:
npm run start # or yarn start
Make sure all image paths are correct. The project uses a utility function getAssetPath to handle paths - make sure this works correctly in production.
// Check utils/assetPath.ts implementationIf animations don't work correctly in production, check that GSAP is being properly initialized. Some animations may need additional configuration for mobile devices.
If you experience performance issues:
- Consider implementing image optimization with Next.js Image component
- Lazy load non-critical components
- Optimize GSAP animations to reduce CPU usage
Make sure to set up any necessary environment variables in your deployment platform for API keys or other sensitive information.
Feel free to reach out if you have any questions about setting up or customizing this portfolio! 😊
This project is available for personal use and can serve as inspiration for your own portfolio.
Built with ❤️ by Metimol