A beautiful, modern, and responsive portfolio website built with Next.js, TypeScript, and Framer Motion. This portfolio showcases my skills as a Frontend & Mobile App Developer specializing in React.js and Flutter.
- ๐จ Beautiful Design: Modern dark theme with vibrant gradient accents
- ๐ฑ Fully Responsive: Optimized for all device sizes (mobile, tablet, desktop)
- ๐ญ Smooth Animations: Powered by Framer Motion for engaging user experience
- โก Performance Optimized: Built with Next.js for fast loading and SEO
- ๐ฏ Interactive Elements: Hover effects, scroll animations, and smooth transitions
- ๐ง Contact Form: Functional contact form for potential clients/employers
- ๐ง Easy Customization: Well-structured code for easy modifications
- Framework: Next.js 14
- Language: TypeScript
- Styling: Tailwind CSS
- Animations: Framer Motion
- UI Components: shadcn/ui
- Icons: Lucide React
- Deployment: Vercel
Make sure you have the following installed:
-
Clone the repository ```bash git clone https://github.com/yourusername/portfolio.git cd portfolio ```
-
Install dependencies ```bash npm install
yarn install ```
-
Run the development server ```bash npm run dev
yarn dev ```
-
Open your browser Navigate to http://localhost:3000 to see the portfolio.
Update your personal information in app/page.tsx:
```typescript // Update these sections with your information const personalInfo = { name: "Your Name", email: "your.email@example.com", location: "Your Location", title: "Your Professional Title" } ```
Modify the skills arrays to match your expertise:
```typescript const frontendSkills = [ "React.js", "JavaScript", "TypeScript", // Add your skills here ]
const mobileSkills = [ "Flutter", "Dart", "React Native", // Add your mobile skills ] ```
Update the projects array with your actual projects:
```typescript const projects = [ { title: "Your Project Name", description: "Project description...", technologies: ["React", "TypeScript", "etc"], github: "https://github.com/yourusername/project", demo: "https://your-project-demo.com", image: "/path/to/your/project/image.jpg", type: "Web Application", color: "from-pink-500 to-rose-500", }, // Add more projects ] ```
Update your work experience in the experience array:
```typescript const experience = [ { title: "Your Job Title", company: "Company Name", location: "Location", period: "Start Date - End Date", description: "Job description...", achievements: [ "Achievement 1", "Achievement 2", // Add your achievements ], color: "bg-gradient-to-r from-pink-500 to-rose-500", }, // Add more experiences ] ```
The portfolio uses a gradient color scheme. You can customize colors in:
- Tailwind Config (
tailwind.config.ts) - Global Styles (
app/globals.css) - Component Classes (throughout
app/page.tsx)
Main color palette:
- Pink:
#ec4899to#f43f5e - Purple:
#8b5cf6to#a855f7 - Cyan:
#06b6d4to#0891b2
- Profile Image: Replace the placeholder in the About section
- Project Images: Add your project screenshots to the
public/folder - Update Image Paths: Update the
imageproperty in your projects array
```typescript // Example image: "/images/your-project-screenshot.jpg" ```
-
Push to GitHub ```bash git add . git commit -m "Initial commit" git push origin main ```
-
Deploy to Vercel
- Go to vercel.com
- Import your GitHub repository
- Deploy with default settings
-
Build the project ```bash npm run build ```
-
Deploy to Netlify
- Drag and drop the
outfolder to netlify.com - Or connect your GitHub repository
- Drag and drop the
-
Install gh-pages ```bash npm install --save-dev gh-pages ```
-
Add deployment scripts to package.json ```json { "scripts": { "deploy": "gh-pages -d out", "export": "next export" } } ```
-
Deploy ```bash npm run build npm run export npm run deploy ```
To make the contact form functional, you can:
-
Use Formspree (Recommended for beginners)
- Sign up at formspree.io
- Replace the form action with your Formspree endpoint
-
Use Netlify Forms
- Add
netlifyattribute to your form - Deploy to Netlify
- Add
-
Use EmailJS
- Set up EmailJS service
- Add EmailJS SDK and configuration
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLint
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- shadcn/ui for the beautiful UI components
- Framer Motion for smooth animations
- Lucide for the icon set
- Tailwind CSS for the utility-first CSS framework
Oluwadamisi Damilola
- Email: addypearl09@gmail.com
- Location: Lagos, Nigeria
- GitHub: Your GitHub Profile
- LinkedIn: Your LinkedIn Profile
โญ If you found this portfolio template helpful, please give it a star!
- Hydration Warning: Fixed with
suppressHydrationWarningin layout.tsx - Image Optimization: Replace placeholder images with optimized versions
- Contact Form: Requires backend setup for full functionality
- Add blog section
- Implement dark/light mode toggle
- Add more interactive animations
- Include testimonials section
- Add project filtering
- Implement search functionality
- Add analytics integration
- Lighthouse Score: 95+ (Performance, Accessibility, Best Practices, SEO)
- First Contentful Paint: < 1.5s
- Largest Contentful Paint: < 2.5s
- Cumulative Layout Shift: < 0.1
Built with โค๏ธ by Oluwadamisi Damilola