A fully interactive portfolio website inspired by the iconic Grand Theft Auto: San Andreas game aesthetics. Built with modern web technologies and featuring immersive keyboard navigation, sound effects, and authentic GTA SA visual design.
๐ Live Site: myxoceph.com
This portfolio website recreates the nostalgic experience of navigating the Grand Theft Auto: San Andreas menu system. Every element, from the custom fonts to the sound effects and selection animations, has been carefully crafted to provide an authentic GTA SA experience while showcasing professional projects and skills.
- Authentic GTA SA Fonts: Custom typography using Pricedown, Diploma, BankGthd, and Beckett fonts
- Sound Effects: Navigation sounds (select.mp3) and selection confirmation (save.mp3)
- Polygon Logo Containers: Signature GTA-style angular image frames
- Smooth Animations: Fade-in, slide-down, slide-up, and shimmer effects
- Color Palette: True-to-game colors (#ffaa00 accents, #00babc progress bars, #00ff00 labels)
- Full Keyboard Support:
- Arrow Keys (โโโโ) for navigation
- Enter for selection
- Escape to return to main menu
- Smart keyboard priority over mouse hover
- Mouse Navigation: Hover and click support with visual feedback
- Auto-scroll: Automatically scrolls to show selected elements
- Selection States: Clear visual indicators for focused items
- Main Menu: Welcome screen with 3 navigation options and animated logo containers
- Projects Page: Grid layout showcasing 6 major projects with descriptions and GitHub links
- About Page: GTA SA Stats-style biography with 4 categories:
- WHO I AM: Personal information
- MY STORY: Scrolling narrative
- 42: Information about 42 School with image and link
- SKILLS: Infinite-scrolling progress bars with shimmer animation
- Contact Page: Interactive cards for Email, GitHub, and LinkedIn
- Mobile Responsive: Optimized breakpoints at 768px for all pages
- Optimized Images: Compressed to 3.8MB total (reduced from 85MB)
- SEO Friendly: Proper meta tags and semantic HTML
- Fast Loading: Vite-powered build for optimal performance
- Legal Footer: Disclaimer about Rockstar Games on every page
- React 18.2.0: UI library for component-based architecture
- React Router 6.20.0: Client-side routing for SPA navigation
- Vite 5.0.8: Next-generation frontend build tool
- Custom CSS: Hand-crafted styles matching GTA SA aesthetics
- CSS Animations: keyframes for fadeIn, slideDown, scrollUp, shimmer effects
- Responsive Design: Mobile-first approach with media queries
- Web Audio API: Custom useSound hook for sound effect management
- MP3 Files: select.mp3 (navigation), save.mp3 (selection)
- GitHub Actions: Automated CI/CD pipeline
- FTP Deploy: SamKirkland/FTP-Deploy-Action@v4.3.4
- CPanel Hosting: Deployed on HostingDunyam infrastructure
- Custom Domain: Live at myxoceph.com
Portfolio/
โโโ .github/
โ โโโ workflows/
โ โโโ deploy.yml # Automated deployment workflow
โโโ srcs/
โ โโโ public/
โ โ โโโ sounds/
โ โ โ โโโ select.mp3 # Navigation sound
โ โ โ โโโ save.mp3 # Selection sound
โ โ โโโ fonts/
โ โ โ โโโ pricedown.otf # Body text font
โ โ โ โโโ diploma.ttf # Main titles font
โ โ โ โโโ Beckett.ttf # Subtitles font
โ โ โ โโโ BankGthd.ttf # Menu items font
โ โ โโโ IMG_6435.png # Portfolio image 1 (optimized)
โ โ โโโ IMG_6918.png # Portfolio image 2 (optimized)
โ โ โโโ 42kocaeli.webp # 42 School logo
โ โโโ src/
โ โ โโโ components/
โ โ โ โโโ MainMenu.jsx # Landing page component
โ โ โ โโโ MainMenu.css
โ โ โ โโโ Footer.jsx # Disclaimer footer
โ โ โ โโโ Footer.css
โ โ โโโ pages/
โ โ โ โโโ Projects.jsx # Projects showcase
โ โ โ โโโ Projects.css
โ โ โ โโโ About.jsx # Biography stats page
โ โ โ โโโ About.css
โ โ โ โโโ Contact.jsx # Contact information
โ โ โ โโโ Contact.css
โ โ โโโ hooks/
โ โ โ โโโ useSound.js # Sound effects hook
โ โ โโโ App.jsx # Main app router
โ โ โโโ App.css
โ โ โโโ main.jsx # React entry point
โ โโโ package.json
โ โโโ vite.config.js
โโโ README.md
โโโ LICENSE
- Node.js (v18 or higher)
- npm or yarn package manager
-
Clone the repository
git clone https://github.com/Myxoceph/Portfolio.git cd Portfolio/srcs -
Install dependencies
npm install
-
Run development server
npm run dev
Open http://localhost:5173 in your browser
-
Build for production
npm run build
Production files will be in
dist/directory
This project uses GitHub Actions for automated deployment to CPanel hosting.
Every push to the main or master branch triggers:
- Checkout code
- Setup Node.js environment
- Install dependencies (
npm ci) - Build production bundle (
npm run build) - Deploy to CPanel via FTP (with clean-slate enabled)
Set these in your repository Settings โ Secrets and variables โ Actions:
FTP_SERVER: FTP server addressFTP_USERNAME: FTP usernameFTP_PASSWORD: FTP passwordDEPLOY_PATH: Target directory on serverSSH_PORT: SSH port (default: 22)
npm run build
# Upload contents of srcs/dist/ to your hosting providerEdit srcs/src/pages/Projects.jsx:
const projects = [
{
title: 'Project Name',
description: 'Project description',
tech: 'Technologies used',
emoji: '๐ฎ',
githubUrl: 'https://github.com/username/repo'
},
// Add more projects...
]Edit srcs/src/pages/About.jsx:
- Modify
categoriesobject for different sections - Add/remove skills in the SKILLS array
- Update progress bar values
All colors are defined in CSS files. Main color variables:
- Background:
#000000 - Accent:
#ffaa00 - Progress bars:
#00babc - Labels:
#00ff00 - Text:
#ffffff,#cccccc,#888888
Place new MP3 files in srcs/public/sounds/ and update useSound.js hook
The website implements a smart keyboard priority system that prevents mouse hover conflicts:
isUsingKeyboardstate tracks input method- Arrow key presses set keyboard mode
- Mouse movement resets to mouse mode
- Mouse hover events are ignored during keyboard navigation
Selected elements automatically scroll into view:
useEffect(() => {
if (isBackButtonSelected && backButtonRef.current) {
backButtonRef.current.scrollIntoView({
behavior: 'smooth',
block: 'center'
})
}
}, [isBackButtonSelected])Skills section features shimmer animation:
@keyframes shimmerBar {
0% { background-position: -200% 0; }
100% { background-position: 200% 0; }
}- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
- Mobile browsers (iOS Safari, Chrome Mobile)
This is a personal portfolio project, but suggestions and feedback are welcome!
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Ahmet BAKIRCAN
- Website: myxoceph.com
- GitHub: @Myxoceph
- Email: ahmetbakircan@gmail.com
- LinkedIn: Ahmet BAKIRCAN
This portfolio represents my journey as a Level 6 student at 42 Kocaeli, where I've completed 20 projects through peer-to-peer learning and hands-on coding challenges.
- Rockstar Games for creating Grand Theft Auto: San Andreas, the inspiration for this design
- 42 School for the education and project-based learning experience
- React & Vite communities for excellent documentation and tools
- Font creators for the authentic GTA SA typography
- Total Size: ~4MB (including optimized images)
- Load Time: <2 seconds on 3G
- Lighthouse Score: 90+ across all metrics
- Mobile Optimized: Fully responsive design