Mohamed Mujtaba - Portfolio Website

Mohamed

Mohamed Mujtaba

πŸš€ Mohamed Mujtaba - Portfolio Website

A modern, interactive portfolio website built with React.js, featuring stunning 3D animations, responsive design, and a clean user interface. This project showcases my skills as a Full-Stack Developer with an emphasis on modern web technologies and user experience.

✨ Features

🎨 Interactive Design

3D Lanyard Animation: Physics-based draggable lanyard card in the loading screen
Aurora Background: Dynamic animated background effects
Magnetic Interactions: Hover effects with magnetic attraction
Tilt Effects: 3D card tilting with mouse movement
Decrypt Text Animation: Text reveals with scrambling effects

πŸ“± Fully Responsive

Mobile-first design approach
Optimized for all screen sizes (mobile, tablet, desktop)
Touch-friendly interactions
Hidden scrollbars for clean appearance

🌟 Modern UI/UX

Dark theme with glassmorphism effects
Smooth animations and transitions
Interactive navigation with magnetic effects
Clean, minimal design aesthetic

πŸ“„ Comprehensive Sections

Home: Hero section with rotating tech stack display
About: Personal information, skills, education, and experience
Projects: Interactive project showcase with 3D view and filtering
Contact: Contact form with social links and information

πŸ›  Advanced Project Showcase

Standard grid view and 3D interactive view
Project filtering by category (Full-Stack, Frontend, Backend)
Featured projects highlighting
Live demo and GitHub links
Technology stack visualization

πŸ›  Tech Stack

Frontend

React.js - UI library
React Router - Navigation
Framer Motion - Animations
Three.js & React Three Fiber - 3D graphics
Tailwind CSS - Styling

Build Tools

Vite - Build tool and dev server
ESLint - Code linting
PostCSS - CSS processing

3D & Physics

@react-three/fiber - React renderer for Three.js
@react-three/drei - Useful helpers for React Three Fiber
@react-three/rapier - Physics engine
Three.js - 3D graphics library

πŸš€ Getting Started

Prerequisites

Node.js (v18 or higher)
npm or yarn package manager

Installation

Clone the repository
git clone https://github.com/Mujtabaa07/my-portfolio.git
cd my-portfolio
Install dependencies
npm install
# or
yarn install
Start the development server
npm run dev
# or
yarn dev
Open your browser Navigate to http://localhost:5173 to view the portfolio

Build for Production

npm run build
# or
yarn build
The built files will be in the dist/ directory.

πŸ“ Project Structure

my-portfolio/
β”œβ”€β”€ public/ # Static assets
β”‚ └── vite.svg
β”œβ”€β”€ src/
β”‚ β”œβ”€β”€ components/ # Reusable components
β”‚ β”‚ β”œβ”€β”€ Aurora.jsx # Animated background
β”‚ β”‚ β”œβ”€β”€ ClickSpark.jsx # Click animation effects
β”‚ β”‚ β”œβ”€β”€ DecryptedText.jsx # Text scramble animation
β”‚ β”‚ β”œβ”€β”€ HeroSection.jsx
β”‚ β”‚ β”œβ”€β”€ InfiniteMenu.jsx # 3D project carousel
β”‚ β”‚ β”œβ”€β”€ Lanyard.jsx # 3D lanyard animation
β”‚ β”‚ β”œβ”€β”€ Magnet.jsx # Magnetic hover effects
β”‚ β”‚ β”œβ”€β”€ Navigation.jsx # Navigation component
β”‚ β”‚ β”œβ”€β”€ RotatingText.jsx # Rotating text animation
β”‚ β”‚ β”œβ”€β”€ ScrollReveal.jsx
β”‚ β”‚ β”œβ”€β”€ ScrollVelocity.jsx
β”‚ β”‚ β”œβ”€β”€ SkillsSection.jsx
β”‚ β”‚ β”œβ”€β”€ TiltedCard.jsx # 3D tilt card effect
β”‚ β”‚ └── TextCursor.jsx # Custom cursor effects
β”‚ β”œβ”€β”€ pages/ # Page components
β”‚ β”‚ β”œβ”€β”€ About.jsx # About page
β”‚ β”‚ β”œβ”€β”€ Contact.jsx # Contact page
β”‚ β”‚ β”œβ”€β”€ Home.jsx # Landing page
β”‚ β”‚ β”œβ”€β”€ Loading.jsx # Loading screen
β”‚ β”‚ └── Projects.jsx # Projects showcase
β”‚ β”œβ”€β”€ assets/ # Static assets
β”‚ β”‚ β”œβ”€β”€ card.glb # 3D card model
β”‚ β”‚ β”œβ”€β”€ lanyard.svg # Lanyard texture
β”‚ β”‚ β”œβ”€β”€ Mujtaba_Resume.pdf
β”‚ β”‚ └── react.svg
β”‚ β”œβ”€β”€ App.jsx # Main app component
β”‚ β”œβ”€β”€ App.css # Global styles
β”‚ β”œβ”€β”€ index.css # Base styles
β”‚ └── main.jsx # Entry point
β”œβ”€β”€ eslint.config.js # ESLint configuration
β”œβ”€β”€ package.json # Dependencies and scripts
β”œβ”€β”€ postcss.config.js # PostCSS configuration
β”œβ”€β”€ tailwind.config.js # Tailwind CSS configuration
β”œβ”€β”€ vite.config.js # Vite configuration
└── README.md # This file

🎯 Key Components

Loading Screen

3D physics-based lanyard card
Smooth loading counter
Clean, minimal design

Navigation

Magnetic hover effects
Responsive design
Smooth transitions

Project Showcase

Dual view modes (Standard/3D Interactive)
Category filtering
Technology stack display
Live demo and source code links

Contact Form

Form validation
Social media links
Contact information
Success/error states

🌟 Featured Projects

Coffee Shop Platform - Full-Stack e-commerce platform with React, Node.js, MongoDB
GitHub PR Tracker - GitHub integration with analytics using Next.js and TypeScript
Animation Website - Interactive portfolio with custom animations
Library Management Backend - REST API with authentication and database management
eCommerce Shopping Platform - React TypeScript with Supabase integration

πŸ“± Responsive Design

The portfolio is fully responsive with:
Mobile: Optimized touch interactions, stacked layouts
Tablet: Balanced grid systems, touch-friendly buttons
Desktop: Full interactive experience, hover effects

🎨 Design Features

Glassmorphism: Modern glass-like UI elements
Dark Theme: Eye-friendly dark color scheme
Gradient Accents: Subtle color gradients
Smooth Animations: 60fps animations throughout
Interactive Elements: Hover states and micro-interactions

πŸš€ Performance Optimizations

Lazy Loading: Components load as needed
Optimized Images: Proper image sizing and compression
Smooth Scrolling: Hidden scrollbars with maintained functionality
Efficient Animations: Hardware-accelerated CSS animations
Code Splitting: Optimized bundle sizes

πŸ”§ Scripts

npm run dev          # Start development server
npm run build # Build for production
npm run preview # Preview production build locally
npm run lint # Run ESLint

πŸ“ž Contact

Mohamed Mujtaba
πŸ’Ό LinkedIn: mohamed-mujtaba
πŸ™ GitHub: Mujtabaa07
πŸ“ Location: Bangalore, India

🀝 Contributing

Fork the project
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

πŸ“ License

This project is open source and available under the MIT License.

πŸ™ Acknowledgments

Three.js Community for amazing 3D graphics capabilities
Framer Motion for smooth animations
React Three Fiber for React integration with Three.js
Tailwind CSS for utility-first styling
Unsplash for high-quality images
⭐ If you found this portfolio helpful, please consider giving it a star!
Built with ❀️ by Mohamed Mujtaba
Like this project

Posted Jul 6, 2025

Built a modern portfolio website with React.js, featuring 3D animations and responsive design.