A modern, responsive portfolio website showcasing my experience as a Full Stack Software Engineer. Built with React 19, TypeScript, Vite, and Tailwind CSS v4, featuring a comprehensive theming system with dark mode support and smooth animations.
π Live Demo: yousifabozid.github.io
I'm a passionate Full Stack Software Engineer with 4+ years of experience creating robust, scalable applications. I specialize in React, TypeScript, Node.js, and cloud technologies, with a focus on delivering high-quality solutions that exceed expectations.
- Modern UI/UX: Clean, professional design with attention to detail
- Fully Responsive: Optimized for all devices and screen sizes
- Dark/Light Mode: Complete theming system with user preference persistence
- Smooth Animations: Intersection Observer-based scroll animations
- Interactive Elements: Hover effects, transitions, and micro-interactions
- Accessibility: Built with accessibility best practices in mind
- Typed Animations: Dynamic typewriter effect in hero section
- Scroll Animations: Elements animate in as they come into view
- Theme Persistence: User's theme preference saved to localStorage
- System Theme Detection: Automatically detects user's system preference
- Performance Optimized: Fast loading with optimized builds
- SEO Friendly: Proper meta tags and semantic HTML structure
- Image Galleries: Certificate image viewing with modal dialogs
- Timeline Components: Interactive education and experience timelines
- Progress Indicators: Visual skill level representations
- Expandable Content: Collapsible sections for achievements and skills
- Hero Section: Dynamic introduction with typing animation
- About: Personal background and professional journey
- Experience: Detailed work history with achievements and technologies
- Education: Comprehensive education timeline with institutions, achievements, and certificates
- Certificates: Dedicated showcase of certifications, badges, and achievements with image gallery
- Skills: Categorized skill set with proficiency levels and visual progress indicators
- Projects: Portfolio of notable projects and contributions with detailed descriptions
- Testimonials: Professional recommendations and feedback from colleagues
- Contact: Multiple ways to get in touch with contact form
- Footer: Additional links and information
- React 19: Latest version with improved performance and features
- TypeScript: Static type checking for robust code
- Tailwind CSS v4: Utility-first CSS framework with dark mode
- Lucide React: Beautiful, customizable SVG icons
- Custom Hooks: Reusable logic for scroll animations and theme management
- React Hook Form: Performant forms with easy validation
- Zod: TypeScript-first schema declaration and validation
- Hookform Resolvers: Integration between React Hook Form and Zod
- Radix UI: Accessible, unstyled UI primitives
- Dialog, Dropdown Menu, Form, Select, Switch, Tabs
- Custom Components: Tailored components for specific needs
- Vite: Next-generation frontend tooling
- ESLint: Code linting with React and TypeScript support
- Prettier: Code formatting for consistency
- Husky: Git hooks for code quality
- lint-staged: Run linters on staged files
- CSS Custom Properties: Semantic color variables
- Tailwind Merge: Utility for merging Tailwind classes
- CLSX: Conditional class name utility
- Font Integration: Inter and JetBrains Mono fonts
- Node.js (version 18 or higher)
- npm, yarn, or pnpm
-
Clone the repository:
git clone https://github.com/YousifAbozid/YousifAbozid.github.io.git cd YousifAbozid.github.io
-
Install dependencies:
npm install # or yarn install # or pnpm install
-
Start the development server:
npm run dev # or yarn dev # or pnpm dev
-
Open your browser and visit http://localhost:3000
npm run build
npm run preview # Preview the production build
YousifAbozid.github.io/
βββ public/ # Static assets
β βββ favicon.png
β βββ Full-App-Screenshot.png
β βββ Yousif_Abozid_Resume.pdf
β βββ certificates/ # Certificate images
β βββ Advanced-Full-Stack-Web-Development-Completion-Certificate.jpg
β βββ ALX-SE-Program-Completion-Certificate.png
β βββ Challenge-Completion-Badge.jpg
β βββ Challenge-Recipient-Badge.png
β βββ Elements-of-AI-Completion-Certificate.png
β βββ English-Diploma-Completion-Certificate.jpg
β βββ English-Diploma-Final-Exam-Completion-Certificate.jpg
β βββ Founder-Academy-Completion-Certificate.jpg
β βββ Full-Stack-Open-CI-CD-Part-Completion-Certificate.png
β βββ Full-Stack-Open-MOOC-Completion-Certificate.png
β βββ Top-Graduate-Badge.jpg
βββ src/
β βββ components/ # Reusable UI components
β β βββ Footer.tsx
β β βββ Navbar.tsx
β β βββ sections/ # Page sections
β β βββ About.tsx
β β βββ Certificates.tsx
β β βββ Contact.tsx
β β βββ Education.tsx
β β βββ Experience.tsx
β β βββ Hero.tsx
β β βββ Projects.tsx
β β βββ Skills.tsx
β β βββ Testimonials.tsx
β βββ contexts/ # React contexts
β β βββ ThemeProvider.tsx # Theme management
β βββ data/ # Static data
β β βββ portfolio.ts # Portfolio content
β βββ hooks/ # Custom React hooks
β β βββ useScrollAnimation.ts
β βββ lib/ # Utility functions
β β βββ utils.ts
β βββ App.tsx # Main application component
β βββ main.tsx # Application entry point
β βββ globals.css # Global styles and theme variables
β βββ vite-env.d.ts # Vite type definitions
βββ eslint.config.js # ESLint configuration
βββ package.json # Dependencies and scripts
βββ tsconfig.json # TypeScript configuration
βββ vite.config.ts # Vite configuration
βββ README.md # Project documentation
The portfolio features a comprehensive theming system with semantic color variables:
- Background Colors: Primary, secondary, tertiary backgrounds
- Text Colors: Primary, secondary, tertiary, and inverted text
- Accent Colors: Primary, secondary, success, warning, danger
- Border Colors: Light and dark mode borders
- Shadow Colors: Consistent shadow effects
// Background with theme colors
<div className="bg-l-bg-1 dark:bg-d-bg-1">
// Text with theme colors
<p className="text-l-text-2 dark:text-d-text-2">
// Accent colors
<button className="bg-primary hover:bg-primary-dark">
Modify theme variables in src/globals.css
:
@theme {
--color-primary: hsl(217.2 91.2% 59.8%);
--color-l-bg-1: #ffffff;
--color-d-bg-1: #0d1117;
/* Add your custom colors */
}
The portfolio is fully responsive with breakpoints for:
- Mobile: 320px - 768px
- Tablet: 768px - 1024px
- Desktop: 1024px+
- Large Screens: 1440px+
npm run dev
: Start development servernpm run build
: Build for productionnpm run preview
: Preview production buildnpm run lint
: Run ESLintnpm run lint:fix
: Fix ESLint issuesnpm run format
: Format code with Prettiernpm run format:check
: Check formattingnpm run fix-all
: Run both lint:fix and formatnpm run type-check
: TypeScript type checkingnpm run upgrade
: Update dependencies
- Email: [email protected]
- LinkedIn: linkedin.com/in/yousifabozid
- GitHub: github.com/YousifAbozid
- Twitter: twitter.com/YousifAbozid12
This project is licensed under the MIT License - see the LICENSE file for details.
While this is a personal portfolio, I welcome suggestions and improvements! Feel free to:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- Design Inspiration: Modern portfolio designs and UI/UX best practices
- Icons: Lucide React for beautiful SVG icons
- Fonts: Inter and JetBrains Mono
- UI Components: Radix UI for accessible primitives
- Color Palette: GitHub's design system for dark mode inspiration
Built with β€οΈ by Yousif Abozid
This portfolio represents my journey as a Full Stack Software Engineer and showcases the projects and experiences that have shaped my career in technology.