Spaces:
Running
Running
| <html lang="ar" dir="rtl"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>#### | Software Developer</title> | |
| <!-- Fonts --> | |
| <link rel="preconnect" href="https://fonts.googleapis.com"> | |
| <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> | |
| <link href="https://fonts.googleapis.com/css2?family=Cairo:wght@300;400;600;800&family=Inter:wght@300;400;600;800&display=swap" rel="stylesheet"> | |
| <!-- Icons --> | |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> | |
| <style> | |
| /* --- CSS Variables & Reset --- */ | |
| :root { | |
| --bg-dark: #0a0a0c; | |
| --bg-card: #16161a; | |
| --bg-card-hover: #1f1f25; | |
| --primary: #7f5af0; /* Purple */ | |
| --secondary: #2cb67d; /* Green/Teal */ | |
| --accent: #ff007a; /* Pink */ | |
| --text-main: #fffffe; | |
| --text-muted: #94a1b2; | |
| --border: #2e2e36; | |
| --glass: rgba(22, 22, 26, 0.7); | |
| --font-ar: 'Cairo', sans-serif; | |
| --font-en: 'Inter', sans-serif; | |
| --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); | |
| } | |
| * { | |
| margin: 0; | |
| padding: 0; | |
| box-sizing: border-box; | |
| } | |
| html { | |
| scroll-behavior: smooth; | |
| } | |
| body { | |
| background-color: var(--bg-dark); | |
| color: var(--text-main); | |
| font-family: var(--font-ar); /* Default to Arabic */ | |
| overflow-x: hidden; | |
| line-height: 1.6; | |
| position: relative; | |
| } | |
| /* English Font Override */ | |
| html[lang="en"] body { | |
| font-family: var(--font-en); | |
| } | |
| /* --- Background Animation --- */ | |
| .bg-gradient { | |
| position: fixed; | |
| top: 0; | |
| left: 0; | |
| width: 100vw; | |
| height: 100vh; | |
| z-index: -1; | |
| background: radial-gradient(circle at 15% 50%, rgba(127, 90, 240, 0.15), transparent 25%), | |
| radial-gradient(circle at 85% 30%, rgba(255, 0, 122, 0.1), transparent 25%); | |
| animation: bgPulse 10s ease-in-out infinite alternate; | |
| } | |
| @keyframes bgPulse { | |
| 0% { transform: scale(1); opacity: 0.8; } | |
| 100% { transform: scale(1.1); opacity: 1; } | |
| } | |
| /* --- Utility Classes --- */ | |
| .container { | |
| max-width: 1200px; | |
| margin: 0 auto; | |
| padding: 0 20px; | |
| } | |
| .section-title { | |
| font-size: 2.5rem; | |
| margin-bottom: 3rem; | |
| text-align: center; | |
| background: linear-gradient(to right, var(--primary), var(--accent)); | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| font-weight: 800; | |
| } | |
| .btn { | |
| display: inline-block; | |
| padding: 12px 30px; | |
| border-radius: 50px; | |
| text-decoration: none; | |
| font-weight: 600; | |
| transition: var(--transition); | |
| border: 2px solid transparent; | |
| cursor: pointer; | |
| } | |
| .btn-primary { | |
| background: var(--primary); | |
| color: white; | |
| box-shadow: 0 4px 15px rgba(127, 90, 240, 0.4); | |
| } | |
| .btn-primary:hover { | |
| transform: translateY(-3px); | |
| box-shadow: 0 8px 25px rgba(127, 90, 240, 0.6); | |
| } | |
| /* --- Header --- */ | |
| header { | |
| position: fixed; | |
| top: 0; | |
| width: 100%; | |
| padding: 20px 0; | |
| z-index: 1000; | |
| backdrop-filter: blur(10px); | |
| border-bottom: 1px solid rgba(255,255,255,0.05); | |
| } | |
| .nav-content { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| } | |
| .logo { | |
| font-weight: 800; | |
| font-size: 1.5rem; | |
| letter-spacing: -1px; | |
| color: var(--text-main); | |
| } | |
| .logo span { color: var(--primary); } | |
| .nav-links { | |
| display: flex; | |
| gap: 20px; | |
| align-items: center; | |
| } | |
| .lang-switch { | |
| background: transparent; | |
| border: 1px solid var(--border); | |
| color: var(--text-muted); | |
| padding: 5px 15px; | |
| border-radius: 20px; | |
| cursor: pointer; | |
| font-family: inherit; | |
| transition: var(--transition); | |
| } | |
| .lang-switch:hover { | |
| border-color: var(--primary); | |
| color: var(--primary); | |
| } | |
| /* --- Hero Section --- */ | |
| .hero { | |
| height: 100vh; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| text-align: center; | |
| padding-top: 80px; | |
| } | |
| .hero-content h1 { | |
| font-size: 4rem; | |
| line-height: 1.1; | |
| margin-bottom: 1rem; | |
| } | |
| .hero-content .role { | |
| font-size: 1.5rem; | |
| color: var(--secondary); | |
| font-family: monospace; | |
| margin-bottom: 2rem; | |
| display: inline-block; | |
| } | |
| .hero-content p { | |
| max-width: 600px; | |
| margin: 0 auto 2rem; | |
| color: var(--text-muted); | |
| font-size: 1.1rem; | |
| } | |
| .scroll-down { | |
| position: absolute; | |
| bottom: 30px; | |
| left: 50%; | |
| transform: translateX(-50%); | |
| animation: bounce 2s infinite; | |
| opacity: 0.5; | |
| } | |
| @keyframes bounce { | |
| 0%, 20%, 50%, 80%, 100% {transform: translateY(0) translateX(-50%);} | |
| 40% {transform: translateY(-10px) translateX(-50%);} | |
| 60% {transform: translateY(-5px) translateX(-50%);} | |
| } | |
| /* --- Cards & Grid Layouts --- */ | |
| .grid-2 { | |
| display: grid; | |
| grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); | |
| gap: 2rem; | |
| margin-bottom: 4rem; | |
| } | |
| .grid-3 { | |
| display: grid; | |
| grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); | |
| gap: 2rem; | |
| } | |
| .card { | |
| background: var(--bg-card); | |
| border: 1px solid var(--border); | |
| border-radius: 16px; | |
| padding: 2rem; | |
| transition: var(--transition); | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| .card:hover { | |
| transform: translateY(-5px); | |
| border-color: var(--primary); | |
| box-shadow: 0 10px 30px rgba(0,0,0,0.3); | |
| } | |
| .card::before { | |
| content: ''; | |
| position: absolute; | |
| top: 0; left: 0; width: 100%; height: 4px; | |
| background: linear-gradient(90deg, var(--primary), var(--accent)); | |
| opacity: 0; | |
| transition: var(--transition); | |
| } | |
| .card:hover::before { opacity: 1; } | |
| /* --- Skills Section --- */ | |
| .skills-container { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 10px; | |
| } | |
| .skill-tag { | |
| background: rgba(127, 90, 240, 0.1); | |
| color: var(--primary); | |
| padding: 8px 16px; | |
| border-radius: 8px; | |
| font-size: 0.9rem; | |
| border: 1px solid rgba(127, 90, 240, 0.2); | |
| } | |
| .skill-tag.highlight { | |
| background: rgba(255, 0, 122, 0.1); | |
| color: var(--accent); | |
| border-color: rgba(255, 0, 122, 0.2); | |
| } | |
| /* --- Projects Section --- */ | |
| .project-card { | |
| display: flex; | |
| flex-direction: column; | |
| justify-content: space-between; | |
| height: 100%; | |
| } | |
| .project-header { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: flex-start; | |
| margin-bottom: 1.5rem; | |
| } | |
| .project-icon { | |
| font-size: 2rem; | |
| color: var(--secondary); | |
| } | |
| .secret-badge { | |
| background: var(--accent); | |
| color: white; | |
| padding: 2px 8px; | |
| border-radius: 4px; | |
| font-size: 0.7rem; | |
| font-weight: bold; | |
| text-transform: uppercase; | |
| } | |
| /* --- Hobbies & Education --- */ | |
| .hobby-item { | |
| display: flex; | |
| align-items: center; | |
| gap: 15px; | |
| margin-bottom: 1rem; | |
| padding: 10px; | |
| border-radius: 8px; | |
| background: rgba(255,255,255,0.03); | |
| } | |
| .hobby-icon { | |
| width: 40px; | |
| height: 40px; | |
| background: var(--bg-card-hover); | |
| border-radius: 50%; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| color: var(--secondary); | |
| } | |
| /* --- Footer --- */ | |
| footer { | |
| border-top: 1px solid var(--border); | |
| padding: 3rem 0; | |
| margin-top: 4rem; | |
| text-align: center; | |
| color: var(--text-muted); | |
| } | |
| .anycoder-link { | |
| display: inline-block; | |
| margin-top: 1rem; | |
| color: var(--primary); | |
| text-decoration: none; | |
| font-weight: 600; | |
| border: 1px solid var(--primary); | |
| padding: 5px 15px; | |
| border-radius: 20px; | |
| transition: var(--transition); | |
| } | |
| .anycoder-link:hover { | |
| background: var(--primary); | |
| color: white; | |
| } | |
| /* --- Responsive Tweaks --- */ | |
| @media (max-width: 768px) { | |
| .hero-content h1 { font-size: 2.5rem; } | |
| .section-title { font-size: 2rem; } | |
| .nav-links { gap: 10px; } | |
| } | |
| /* --- Animation Classes --- */ | |
| .fade-in { | |
| opacity: 0; | |
| transform: translateY(20px); | |
| transition: opacity 0.6s ease-out, transform 0.6s ease-out; | |
| } | |
| .fade-in.visible { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| /* RTL Specifics */ | |
| html[dir="rtl"] { | |
| text-align: right; | |
| } | |
| html[dir="ltr"] { | |
| text-align: left; | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <div class="bg-gradient"></div> | |
| <header> | |
| <div class="container nav-content"> | |
| <div class="logo">####<span>.dev</span></div> | |
| <div class="nav-links"> | |
| <button class="lang-switch" onclick="toggleLanguage()"> | |
| <i class="fa-solid fa-globe"></i> <span id="lang-label">EN</span> | |
| </button> | |
| </div> | |
| </div> | |
| </header> | |
| <!-- Hero Section --> | |
| <section class="hero container"> | |
| <div class="hero-content fade-in"> | |
| <h1 data-i18n="heroTitle">مرحباً، أنا ####</h1> | |
| <div class="role"><span id="typewriter"></span><span class="cursor">|</span></div> | |
| <p data-i18n="heroBio">مطور شغوف ببناء حلول ذكية وعملية، أركز على الذكاء الاصطناعي والتجارب التفاعلية، وأسعى دائمًا لتقديم أفكار غير تقليدية ذات تأثير حقيقي.</p> | |
| <a href="#projects" class="btn btn-primary" data-i18n="viewWork">تصفح أعمالي</a> | |
| </div> | |
| <div class="scroll-down"> | |
| <i class="fa-solid fa-chevron-down"></i> | |
| </div> | |
| </section> | |
| <!-- Skills Section --> | |
| <section class="container fade-in"> | |
| <h2 class="section-title" data-i18n="skillsTitle">الترسانة التقنية</h2> | |
| <div class="grid-2"> | |
| <!-- Coding Skills --> | |
| <div class="card"> | |
| <div class="project-header"> | |
| <h3 data-i18n="codingSkills">لغات البرمجة</h3> | |
| <i class="fa-solid fa-code project-icon"></i> | |
| </div> | |
| <div class="skills-container"> | |
| <span class="skill-tag highlight">Python (Most Used)</span> | |
| <span class="skill-tag highlight">PHP (Favourite)</span> | |
| <span class="skill-tag">Java</span> | |
| <span class="skill-tag">Kotlin</span> | |
| <span class="skill-tag">Node.js</span> | |
| <span class="skill-tag">SQL</span> | |
| <span class="skill-tag">HTML5/XML</span> | |
| <span class="skill-tag">GDScript</span> | |
| </div> | |
| </div> | |
| <!-- AI Skills --> | |
| <div class="card"> | |
| <div class="project-header"> | |
| <h3 data-i18n="aiSkills">الذكاء الاصطناعي</h3> | |
| <i class="fa-solid fa-brain project-icon" style="color: var(--accent);"></i> | |
| </div> | |
| <ul style="list-style: none; margin-top: 10px;"> | |
| <li style="margin-bottom: 8px; display: flex; align-items: center; gap: 10px;"> | |
| <i class="fa-solid fa-check" style="color: var(--secondary);"></i> <span data-i18n="ai1">تدريب نماذج الذكاء الاصطناعي</span> | |
| </li> | |
| <li style="margin-bottom: 8px; display: flex; align-items: center; gap: 10px;"> | |
| <i class="fa-solid fa-check" style="color: var(--secondary);"></i> <span data-i18n="ai2">تجهيز وتحليل البيانات</span> | |
| </li> | |
| <li style="margin-bottom: 8px; display: flex; align-items: center; gap: 10px;"> | |
| <i class="fa-solid fa-check" style="color: var(--secondary);"></i> <span data-i18n="ai3">تحسين النماذج (Fine-tuning)</span> | |
| </li> | |
| <li style="margin-bottom: 8px; display: flex; align-items: center; gap: 10px;"> | |
| <i class="fa-solid fa-check" style="color: var(--secondary);"></i> <span data-i18n="ai4">نماذج محلية للهواتف</span> | |
| </li> | |
| </ul> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- Projects Section --> | |
| <section class="container fade-in" id="projects"> | |
| <h2 class="section-title" data-i18n="projectsTitle">المشاريع المميزة</h2> | |
| <div class="grid-2"> | |
| <!-- Project 1 --> | |
| <div class="card project-card"> | |
| <div> | |
| <div class="project-header"> | |
| <h3>YutaLM</h3> | |
| <i class="fa-solid fa-robot project-icon"></i> | |
| </div> | |
| <p data-i18n="proj1Desc" style="color: var(--text-muted); margin-bottom: 1rem;">نموذج ذكاء اصطناعي محلي للهواتف الذكية، يوفر تجربة RolePlay ذكية وسلسة.</p> | |
| <div class="skills-container"> | |
| <span class="skill-tag">Mobile AI</span> | |
| <span class="skill-tag">LLM</span> | |
| <span class="skill-tag">Optimization</span> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Project 2 --> | |
| <div class="card project-card" style="border-color: var(--accent);"> | |
| <div> | |
| <div class="project-header"> | |
| <h3>ScreenLESS AI</h3> | |
| <span class="secret-badge" data-i18n="secret">سري</span> | |
| </div> | |
| <p data-i18n="proj2Desc" style="color: var(--text-muted); margin-bottom: 1rem;">مشروع يهدف إلى إعادة تعريف التفاعل مع الذكاء الاصطناعي دون الحاجة للشاشات.</p> | |
| <div class="skills-container"> | |
| <span class="skill-tag highlight">Voice UI</span> | |
| <span class="skill-tag highlight">Hardware</span> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- About & Life Section --> | |
| <section class="container fade-in"> | |
| <h2 class="section-title" data-i18n="aboutTitle">من خلف الكواليس</h2> | |
| <div class="grid-3"> | |
| <!-- Education --> | |
| <div class="card"> | |
| <div class="project-header"> | |
| <h3 data-i18n="edu">التعليم</h3> | |
| <i class="fa-solid fa-graduation-cap project-icon" style="color: var(--primary);"></i> | |
| </div> | |
| <p style="font-weight: 600;" data-i18n="eduDetail">طالب جامعي في كلية تقنية المعلومات (IT)</p> | |
| </div> | |
| <!-- Network --> | |
| <div class="card"> | |
| <div class="project-header"> | |
| <h3 data-i18n="network">العلاقات المهنية</h3> | |
| <i class="fa-solid fa-users project-icon" style="color: var(--secondary);"></i> | |
| </div> | |
| <ul style="list-style: none; margin-top: 10px; color: var(--text-muted);"> | |
| <li><i class="fa-solid fa-link"></i> المطور MZ</li> | |
| <li><i class="fa-solid fa-link"></i> المطور يوسف الشاذلي</li> | |
| </ul> | |
| </div> | |
| <!-- Hobbies --> | |
| <div class="card"> | |
| <div class="project-header"> | |
| <h3 data-i18n="hobbies">الهوايات</h3> | |
| <i class="fa-solid fa-gamepad project-icon" style="color: var(--accent);"></i> | |
| </div> | |
| <div class="hobby-item"> | |
| <div class="hobby-icon"><i class="fa-solid fa-dumbbell"></i></div> | |
| <span data-i18n="hobby1">التدريب (Gym)</span> | |
| </div> | |
| <div class="hobby-item"> | |
| <div class="hobby-icon"><i class="fa-solid fa-tv"></i></div> | |
| <span data-i18n="hobby2">الأنمي والدونغهوا</span> | |
| </div> | |
| <div class="hobby-item"> | |
| <div class="hobby-icon"><i class="fa-solid fa-book-open"></i></div> | |
| <span data-i18n="hobby3">المانغا والمانهوا</span> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <footer> | |
| <div class="container"> | |
| <p>© 2023 ####. All Rights Reserved.</p> | |
| <a href="https://huggingface.co/spaces/akhaliq/anycoder" target="_blank" class="anycoder-link"> | |
| Built with anycoder | |
| </a> | |
| </div> | |
| </footer> | |
| <script> | |
| // --- Translations --- | |
| const translations = { | |
| ar: { | |
| heroTitle: "مرحباً، أنا ####", | |
| heroBio: "مطور شغوف ببناء حلول ذكية وعملية، أركز على الذكاء الاصطناعي والتجارب التفاعلية، وأسعى دائمًا لتقديم أفكار غير تقليدية ذات تأثير حقيقي.", | |
| viewWork: "تصفح أعمالي", | |
| skillsTitle: "الترسانة التقنية", | |
| codingSkills: "لغات البرمجة", | |
| aiSkills: "الذكاء الاصطناعي", | |
| ai1: "تدريب نماذج الذكاء الاصطناعي", | |
| ai2: "تجهيز وتحليل البيانات", | |
| ai3: "تحسين النماذج (Fine-tuning)", | |
| ai4: "نماذج محلية للهواتف", | |
| projectsTitle: "المشاريع المميزة", | |
| proj1Desc: "نموذج ذكاء اصطناعي محلي للهواتف الذكية، يوفر تجربة RolePlay ذكية وسلسة.", | |
| proj2Desc: "مشروع يهدف إلى إعادة تعريف التفاعل مع الذكاء الاصطناعي دون الحاجة للشاشات.", | |
| secret: "سري", | |
| aboutTitle: "من خلف الكواليس", | |
| edu: "التعليم", | |
| eduDetail: "طالب جامعي في كلية تقنية المعلومات (IT)", | |
| network: "العلاقات المهنية", | |
| hobbies: "الهوايات", | |
| hobby1: "التدريب (Gym)", | |
| hobby2: "الأنمي والدونغهوا", | |
| hobby3: "المانغا والمانهوا", | |
| roles: ["مطور برمجيات", "مهندس ذكاء اصطناعي", "Full Stack Developer"] | |
| }, | |
| en: { | |
| heroTitle: "Hello, I'm ####", | |
| heroBio: "A passionate developer building smart, practical solutions. I focus on AI and interactive experiences, always aiming to deliver unconventional ideas with real impact.", | |
| viewWork: "View My Work", | |
| skillsTitle: "Tech Arsenal", | |
| codingSkills: "Programming Languages", | |
| aiSkills: "Artificial Intelligence", | |
| ai1: "AI Model Training", | |
| ai2: "Data Preparation & Analysis", | |
| ai3: "Fine-tuning & Optimization", | |
| ai4: "Local Mobile Models", | |
| projectsTitle: "Featured Projects", | |
| proj1Desc: "A local AI model for smartphones providing a smart and seamless RolePlay experience.", | |
| proj2Desc: "A secret project aiming to redefine interaction with AI without screens.", | |
| secret: "Secret", | |
| aboutTitle: "Behind the Scenes", | |
| edu: "Education", | |
| eduDetail: "IT Student at College of Information Technology", | |
| network: "Professional Network", | |
| hobbies: "Hobbies", | |
| hobby1: "Gym Training", | |
| hobby2: "Anime & Donghua", | |
| hobby3: "Manga & Manhwa", | |
| roles: ["Software Developer", "AI Engineer", "Full Stack Developer"] | |
| } | |
| }; | |
| let currentLang = 'ar'; | |
| // --- Language Toggle --- | |
| function toggleLanguage() { | |
| currentLang = currentLang === 'ar' ? 'en' : 'ar'; | |
| const html = document.documentElement; | |
| const langLabel = document.getElementById('lang-label'); | |
| // Set Direction and Lang | |
| html.setAttribute('lang', currentLang); | |
| html.setAttribute('dir', currentLang === 'ar' ? 'rtl' : 'ltr'); | |
| // Update Button | |
| langLabel.textContent = currentLang === 'ar' ? 'EN' : 'AR'; | |
| // Update Text Content | |
| document.querySelectorAll('[data-i18n]').forEach(el => { | |
| const key = el.getAttribute('data-i18n'); | |
| if(translations[currentLang][key]) { | |
| el.textContent = translations[currentLang][key]; | |
| } | |
| }); | |
| // Restart Typewriter | |
| initTypewriter(); | |
| } | |
| // --- Typewriter Effect --- | |
| function initTypewriter() { | |
| const textElement = document.getElementById('typewriter'); | |
| const roles = translations[currentLang].roles; | |
| let roleIndex = 0; | |
| let charIndex = 0; | |
| let isDeleting = false; | |
| let typeSpeed = 100; | |
| function type() { | |
| const currentRole = roles[roleIndex]; | |
| if (isDeleting) { | |
| textElement.textContent = currentRole.substring(0, charIndex - 1); | |
| charIndex--; | |
| typeSpeed = 50; | |
| } else { | |
| textElement.textContent = currentRole.substring(0, charIndex + 1); | |
| charIndex++; | |
| typeSpeed = 100; | |
| } | |
| if (!isDeleting && charIndex === currentRole.length) { | |
| isDeleting = true; | |
| typeSpeed = 2000; // Pause at end | |
| } else if (isDeleting && charIndex === 0) { | |
| isDeleting = false; | |
| roleIndex = (roleIndex + 1) % roles.length; | |
| typeSpeed = 500; // Pause before new word | |
| } | |
| setTimeout(type, typeSpeed); | |
| } | |
| type(); | |
| } | |
| // --- Scroll Animation Observer --- | |
| const observerOptions = { | |
| threshold: 0.1 | |
| }; | |
| const observer = new IntersectionObserver((entries) => { | |
| entries.forEach(entry => { | |
| if (entry.isIntersecting) { | |
| entry.target.classList.add('visible'); | |
| } | |
| }); | |
| }, observerOptions); | |
| document.querySelectorAll('.fade-in').forEach(el => { | |
| observer.observe(el); | |
| }); | |
| // Initialize | |
| initTypewriter(); | |
| </script> | |
| </body> | |
| </html> |