A modern, responsive portfolio showcasing my journey as a mathematician, full-stack developer, and lifelong learner.
This portfolio is more than just a website, it's a digital representation of my professional journey, built with the same attention to detail and technical excellence I bring to every project. From clean code to smooth animations, every element reflects my commitment to quality.
Visit the live site: Clement's Portfolio Website
- My Journey: From Mulima village to graduating cum laude in Honours Mathematics
- Achievements: Projects ranging from robot vision systems to mathematical research
- Resume: Comprehensive overview of skills, experience, and certifications
- Personal Stories: My path through mathematics, technology, and teaching
- Technical Insights: React development, web tools, and industry best practices
- Tutorials: Step-by-step guides (coming soon)
Full-stack expertise with modern technologies:
- Frontend: React.js, HTML5, CSS3, JavaScript
- Backend: Node.js, Express.js
- Database: PostgreSQL, MySQL, Firebase Firestore
- Cloud: Oracle Cloud, Huawei Cloud
- Version Control: Git & GitHub
- 🎨 Modern UI/UX: Clean, glassmorphism design with dark theme
- 📱 Fully Responsive: Optimized for all devices from mobile to 4K displays
- ✨ Smooth Animations: Staggered loading, fade transitions, and interactive elements
- 🔥 Real-time Contact: Firebase-powered contact form with email notifications
- 🎡 Interactive Mobile Menu: Blur background with animated menu items
- 📊 GitHub Integration: Live repository previews and statistics
- 🎓 Certificate Gallery: Showcasing Oracle Cloud, Powerlearn, and other certifications
React 19.1.0
React Router DOM 7.7.0
Vite 7.0.4
FontAwesome Icons
Material-UI (MUI)
EmailJS Browser
Firebase (Firestore, Hosting)
EmailJS (Contact form notifications)
Custom CSS3 with modern features:
- Glassmorphism effects
- Backdrop filters
- CSS Grid & Flexbox
- Custom animations
- Responsive breakpoints
- Node.js (v16 or higher)
- npm or yarn
- Git
-
Clone the repository
git clone https://github.com/NdaedzoPhoshoko/Portfolio-for-Clement.git cd Portfolio-for-Clement -
Install dependencies
cd front-end npm install -
Set up environment variables (if needed)
- Configure Firebase credentials in
src/firebase.js - Add EmailJS service details in Contact component
- Configure Firebase credentials in
-
Run development server
npm run dev
Open http://localhost:5173 in your browser
-
Build for production
npm run build
The optimized build will be in the
dist/folder
npm install -g firebase-tools
firebase login
firebase init hosting
npm run build
firebase deploynpm install -g vercel
vercelnpm install -g netlify-cli
npm run build
netlify deploy --prod- Update
vite.config.jswith base path - Build and deploy using GitHub Actions or manual push to
gh-pagesbranch
Portfolio-for-Clement/
├── front-end/
│ ├── src/
│ │ ├── assets/ # Images, icons, certificates
│ │ ├── components/ # Reusable components
│ │ │ ├── navbar/ # Navigation with mega menus
│ │ │ ├── footer/ # Social links footer
│ │ │ ├── subscribe/ # GitHub follow modal
│ │ │ ├── timeline/ # Career timeline
│ │ │ └── cursor/ # Custom cursor effect
│ │ ├── pages/
│ │ │ ├── home/ # Landing page
│ │ │ ├── about/ # Journey, Resume, Achievements
│ │ │ ├── blog/ # Blog posts & tutorials
│ │ │ └── contact/ # Contact form
│ │ ├── App.jsx # Main app with routing
│ │ └── firebase.js # Firebase configuration
│ ├── package.json
│ └── vite.config.js
└── README.md
The portfolio embraces a dark, modern aesthetic with:
Color Palette:
- Background:
#0d1117(deep dark) - Primary:
#161b22(dark gray) - Secondary:
#21262d(medium gray) - Tertiary:
#89929b(light gray) - Accents: Vibrant gradients (orange, teal, purple, pink)
UI Principles:
- Glassmorphism and blur effects
- Smooth, staggered animations
- Responsive typography
- Clean, minimal layouts
- High contrast for accessibility
- Floating Profile Icon: Animated glassmorphism circle on home page
- Mega Menus: Detailed dropdowns with icons and descriptions
- Mobile Menu: Smooth slide-in navigation with social links
- Loading Transitions: Progress bars before page navigation
- Hover Effects: Scales, rotations, and color transitions
- Lazy loading for images
- Code splitting with React Router
- Optimized animations with CSS transforms
- Efficient re-renders with React hooks
- Vite for fast builds and hot module replacement
- Semantic HTML structure
- ARIA labels on interactive elements
- Keyboard navigation support
- High contrast text
- Responsive font sizing
/* 4K Displays */
@media (min-width: 2560px)
/* Large Desktops */
@media (min-width: 1920px)
/* Standard Desktops */
@media (min-width: 1440px)
/* Laptops */
@media (max-width: 1200px)
/* Tablets */
@media (max-width: 1024px)
/* Large Phones */
@media (max-width: 768px)
/* Small Phones */
@media (max-width: 480px)- GitHub: NdaedzoPhoshoko
- LinkedIn: Ndaedzo Phoshoko
- YouTube: @emkidncp
This project is open source and available for personal and educational use.
Built with passion and dedication. Special thanks to everyone who has supported my journey from Mulima village to becoming a developer.
Made with ❤️ by Clement Phoshoko
Mathematician | Full Stack Developer | Aspiring Data Scientist