A modern, responsive portfolio website showcasing my journey as a Full-Stack Developer. Built with cutting-edge technologies and featuring stunning animations, interactive 3D elements, and a bilingual interface (English & Arabic).
- π¨ Modern Design: Premium glassmorphism effects, gradient backgrounds, and smooth animations
- π Bilingual Support: Full RTL support for Arabic and English languages
- π± Fully Responsive: Optimized for all devices from mobile to desktop
- β‘ Performance Optimized: Built with Next.js 15 for lightning-fast loading
- π Interactive 3D Elements:
- Rotating tech icons around profile picture
- Interactive 3D Icon Cloud with Fibonacci sphere distribution
- Smooth drag and auto-rotation effects
- π Dark Mode: Eye-friendly dark theme throughout
- π Dynamic Sections:
- Hero with typing animation
- Animated timeline journey
- Skills showcase with category filters
- Project gallery
- Contact form with email integration
- π¬ Premium Animations: Using Framer Motion for fluid transitions
- π₯ Preloader: Engaging tech stack showcase with developer facts
- Framework: Next.js 15.1.6 (React 19)
- Language: TypeScript 5
- Styling: Tailwind CSS 3.4
- Animations: Framer Motion 11.18
- Icons: Lucide React
- Package Manager: pnpm
- Development: Next.js Development Server
- Production: Vercel (Recommended)
next-intl: Internationalization (i18n) for bilingual supportframer-motion: Advanced animations and transitionslucide-react: Modern icon library- Custom 3D Icon Cloud component with canvas rendering
- Clone the repository
git clone https://github.com/Msr7799/my-portfolio.git
cd my-portfolio- Install dependencies
pnpm install- Run the development server
pnpm dev- Open your browser
http://localhost:3000
pnpm devpnpm build
pnpm startThe easiest way to deploy is using Vercel:
- Push your code to GitHub
- Import the project to Vercel
- Vercel will auto-detect Next.js and deploy
my-portfolio/
βββ public/
β βββ assets/
β β βββ tech/ # Technology icons
β β βββ My-pics/ # Profile images
β β βββ projects/ # Project images
β βββ locales/ # i18n translations (ar, en)
βββ src/
β βββ app/ # Next.js App Router
β βββ components/ # React components
β β βββ ui/ # Reusable UI components
β β βββ HeroSection.tsx
β β βββ About.tsx
β β βββ SkillsSection.tsx
β β βββ ProjectsSection.tsx
β β βββ TimelineSection.tsx
β β βββ ContactSection.tsx
β β βββ Footer.tsx
β β βββ Header.tsx
β β βββ Preloader.tsx
β βββ context/ # React Context (App, Language)
β βββ styles/ # Global CSS
βββ i18n.ts # Internationalization config
βββ tailwind.config.ts # Tailwind configuration
The website supports both English and Arabic with full RTL support:
- English:
/en - Arabic:
/ar
Language files are located in public/locales/.
Edit the CSS variables in src/app/globals.css:
:root {
--background: #0a0a0f;
--foreground: #ffffff;
--primary: #667eea;
/* ... more colors */
}Add your icons to public/assets/tech/ and update the arrays in:
src/components/HeroSection.tsx- Floating tech imagessrc/components/SkillsSection.tsx- Skills sectionsrc/components/Preloader.tsx- Preloader icons
Note: Add your portfolio screenshots to
public/assets/and replace the image path in this README.
This project is open source and available under the MIT License.
Mohamed Alromaihi
Made with β€οΈ and β by Mohamed Alromaihi
β Star this repo if you like it!