A stunning, modern portfolio website built with React, TypeScript, and Tailwind CSS. Features a sophisticated black and white design with smooth animations and professional styling.
- Modern Design: Clean, professional black and white aesthetic with gray accents
- Responsive Layout: Fully responsive design that works on all devices
- Smooth Animations: Beautiful animations powered by Framer Motion
- Interactive Elements: Hover effects, smooth scrolling, and interactive components
- Professional Sections: Hero, About, Skills, Projects, Experience, and Contact
- Contact Form: Functional contact form with validation and submission feedback
- Performance Optimized: Built with modern React patterns and optimized for performance
- React 18 - Modern React with hooks and functional components
- TypeScript - Type-safe development experience
- Tailwind CSS - Utility-first CSS framework with custom design system
- Framer Motion - Smooth animations and transitions
- Lucide React - Beautiful, customizable icons
- Vite - Fast build tool and development server
The website uses a sophisticated color palette:
- Obsidian (#0a0a0a) - Primary background
- Charcoal (#1a1a1a) - Section backgrounds
- Slate (#2d2d2d) - Card backgrounds
- Steel (#404040) - Borders and accents
- Silver (#6b6b6b) - Secondary text
- Platinum (#e5e5e5) - Primary text and highlights
- Pearl (#f8f8f8) - Light accents
src/
├── components/ # Reusable UI components
│ ├── Navbar.tsx # Navigation bar
│ └── Footer.tsx # Footer component
├── sections/ # Main page sections
│ ├── Hero.tsx # Hero/landing section
│ ├── About.tsx # About me section
│ ├── Skills.tsx # Skills and expertise
│ ├── Projects.tsx # Portfolio projects
│ ├── Experience.tsx # Work experience
│ └── Contact.tsx # Contact form and info
├── types/ # TypeScript type definitions
├── utils/ # Utility functions
├── App.tsx # Main application component
├── main.tsx # Application entry point
└── index.css # Global styles and Tailwind imports
-
Clone the repository
git clone <your-repo-url> cd mywebsite
-
Install dependencies
npm install
-
Start development server
npm run dev
-
Build for production
npm run build
-
Preview production build
npm run preview
The portfolio is already configured with Joseph Yaw Agyeman's information. To customize further:
src/sections/Hero.tsx- Modify title and descriptionsrc/sections/About.tsx- Update personal details and experiencesrc/sections/Skills.tsx- Modify skills and proficiency levelssrc/sections/Projects.tsx- Add your own projectssrc/sections/Experience.tsx- Update work experiencesrc/sections/Contact.tsx- Update contact information
- Modify
tailwind.config.jsto change colors and design tokens - Update
src/index.cssfor custom CSS and component styles - Adjust animations in individual components
- Replace placeholder images with your own
- Update project descriptions and technologies
- Modify contact form endpoints for actual functionality
- Add your social media links
The website is fully responsive with breakpoints:
- Mobile: < 768px
- Tablet: 768px - 1024px
- Desktop: > 1024px
All animations are powered by Framer Motion and include:
- Fade-in effects on scroll
- Smooth slide animations
- Hover interactions
- Staggered animations for lists
- Smooth page transitions
- Code Splitting: Components are loaded as needed
- Optimized Images: Placeholder system for fast loading
- Smooth Scrolling: Native smooth scroll behavior
- Lazy Loading: Animations trigger on viewport entry
- Optimized Build: Vite for fast development and optimized production builds
The contact form includes:
- Form validation
- Loading states
- Success feedback
- Responsive design
- Accessible form elements
- Smooth scrolling between sections
- Mobile-responsive navigation menu
- Active section highlighting
- Scroll-to-top functionality
- Hero Section: Eye-catching introduction with call-to-action buttons
- About Section: Personal story with key features and achievements
- Skills Section: Comprehensive skill showcase with progress bars
- Projects Section: Portfolio with filtering and interactive cards
- Experience Section: Professional timeline with detailed achievements
- Contact Section: Contact form and professional contact information
This project is open source and available under the MIT License.
Contributions are welcome! Please feel free to submit a Pull Request.
If you have any questions or need help customizing the portfolio, please open an issue or contact me directly.
Built with ❤️ using React, TypeScript, and Tailwind CSS