A modern, professional portfolio website built with Next.js, TypeScript, and Tailwind CSS. This site showcases your skills, experience, and availability for freelance opportunities.
- Responsive Design: Fully responsive across all devices
- Modern UI: Built with shadcn/ui components and Tailwind CSS
- Smooth Animations: Elegant animations powered by Framer Motion
- SEO Optimized: Comprehensive meta tags and structured data
- Dark Mode Support: Automatic dark mode based on system preferences
- Performance Focused: Optimized for fast loading and smooth interactions
servon-portfolio/
βββ app/
β βββ page.tsx # Main page with all sections
β βββ layout.tsx # Root layout with SEO metadata
β βββ globals.css # Global styles and theme variables
βββ components/
β βββ navigation.tsx # Header navigation component
β βββ footer.tsx # Footer component
β βββ sections/
β β βββ hero.tsx # Hero section with intro
β β βββ about.tsx # About section
β β βββ skills.tsx # Skills and technologies
β β βββ experience.tsx # Work experience timeline
β β βββ contact.tsx # Contact section
β βββ ui/ # Reusable UI components
β βββ button.tsx
β βββ card.tsx
β βββ badge.tsx
βββ lib/
β βββ utils.ts # Utility functions
βββ public/
βββ images/ # Image assets
-
Prepare your image:
- Recommended size: 800x800 pixels (square)
- Format: JPG or PNG
- Keep file size under 500KB for optimal performance
-
Add the image:
- Place your profile photo in:
public/images/profile.jpg - The hero section will automatically load this image
- Place your profile photo in:
-
Fallback behavior:
- If no image is found, a placeholder with text "Your Photo Here" will display
- This allows you to see the layout before adding your actual photo
If you want to add more images to other sections:
// Example: Add an image to any section
import Image from "next/image"
<Image
src="/images/your-image.jpg"
alt="Description"
width={800}
height={600}
className="rounded-lg"
/>- Node.js 18+ installed
- npm or yarn
- Install dependencies:
npm install- Run development server:
npm run dev- Open your browser: Navigate to http://localhost:3000
npm run build
npm startYour profile photo is ready to add!
- Save the photo you provided (sitting on steps in black shirt) as
public/images/profile.jpg - The hero section will automatically display it
- See public/images/PROFILE_IMAGE_INSTRUCTIONS.md for details
The email (servonlewis@gmail.com) is already set in:
Update your social media URLs in:
- components/sections/hero.tsx (lines ~49-60)
- components/sections/contact.tsx (lines ~57-78)
Replace with your actual profiles:
- LinkedIn:
https://linkedin.com/in/YOUR_USERNAME - GitHub:
https://github.com/YOUR_USERNAME
Update SEO information in app/layout.tsx:
- Change the domain URL from
https://servonlewis.comto your actual domain - Update any other metadata as needed
Edit components/sections/skills.tsx:
- Modify the
skillCategoriesarray to add/remove skills - Update certifications in the Certifications card
Edit components/sections/experience.tsx:
- Modify the
experiencesarray to update work history - Each experience object includes: company, role, period, highlights, and technologies
Edit components/sections/about.tsx:
- Update the
highlightsarray for key strengths - Modify the biography text in the Card component
Customize theme colors in app/globals.css:
- Modify CSS variables in the
:rootselector for light mode - Modify variables in
@media (prefers-color-scheme: dark)for dark mode
Change fonts in app/layout.tsx:
- Replace
GeistandGeist_Monowith your preferred Google Fonts
- Eye-catching introduction
- Profile image placeholder
- Call-to-action buttons
- Social links
- Brief biography
- Key highlights with icons
- Professional summary
- Organized by categories
- Visual badges for each skill
- Certifications display
- Timeline-style layout
- Company logos (optional)
- Key achievements
- Technology tags
- Email contact button
- Social media links
- Professional call-to-action
- Push your code to GitHub
- Import project in Vercel
- Deploy with one click
This is a standard Next.js app and can be deployed to:
- Netlify
- AWS Amplify
- Google Cloud Platform
- Any platform supporting Next.js
This project is open source and available for personal use.
For questions or issues, contact: servonlewis@gmail.com
Built with β€οΈ using Next.js, TypeScript, and Tailwind CSS