Objective: Act as an expert web developer and UX/UI designer. Your task is to design and outline the code for a modern, responsive, and high-impact personal portfolio website for a [Your Profession, e.g., Graphic Designer, Software Engineer, Data Analyst].
Browse files1. Project Brief & Target Audience:
β’ Profession: Data scientist and Software Developer
β’ Specialties: ML and LLM
β’ Target Audience: Potential employers, startup founders, and recruiting managers in the tech industry.
β’ Primary Goal: To secure job interviews and freelance clients by showcasing my skills and projects in a clean, professional manner.
β’ Secondary Goal: To establish a personal brand and serve as a central hub for my online presence (GitHub, LinkedIn, etc.).
2. Core Content & Sections:
The site must include the following sections in a logical, scrollable single-page layout:
β’ Hero Section: A striking first impression with my name, title, a very short bio (one sentence), and a call-to-action (e.g., "View My Work" or "Download Resume").
β’ About Me: A more personal section with a photo, a longer paragraph about my passion, approach, and what I bring to a team. Include a link to my resume.
β’ Skills & Technologies: A visually engaging display of my core competencies. Categorize them if possible (e.g., "Frontend," "Backend," "Tools").
β’ Projects Portfolio: The centerpiece. Each project should have:
o A descriptive title.
o A high-quality mockup/image/gif.
o A brief description of the project and its goals.
o The technologies used (as tags/badges).
o Links to the live demo and the source code (GitHub).
β’ Contact Section: A simple contact form and prominently displayed links to my professional social profiles (LinkedIn, GitHub, etc.). Also, list my email address.
3. Design & Aesthetic Direction:
β’ Overall Vibe: Dark & Futuristic
β’ Color Palette: Suggest a cohesive color palette. Primary color, secondary color, accent color, and neutral backgrounds (light and dark modes are a plus).
β’ Typography: Recommend a font pairing (e.g., a sans-serif for headings and a readable sans-serif for body text). Please provide specific Google Fonts.
β’ Visual Style: Use subtle animations on scroll, clean layouts with ample white space, and a focus on typography and imagery. Icons should be used for skills and social links.
4. Technical Requirements:
β’ Framework/Library: [Specify if you have a preference, e.g., "Use React with functional components and Hooks" or "Use vanilla HTML, CSS, and JavaScript"].
β’ Responsiveness: Must be fully responsive and look great on mobile, tablet, and desktop.
β’ Performance: The code should be clean, semantic, and optimized for fast loading.
β’ Interactivity: Include subtle interactive elements like hover effects on buttons and project cards, and a smooth scroll for navigation.
5. Deliverables:
Based on the above, please provide:
β’ A. A detailed visual description of the proposed layout for each section.
β’ B. The complete HTML, CSS, and JavaScript code to build the core structure of this portfolio, including the responsive navigation bar and all sections. The code should be well-commented.
β’ C. Suggestions for images, icons, and other assets (e.g., recommend using Undraw for illustrations, FontAwesome for icons).
- README.md +8 -5
- components/footer.js +164 -0
- components/navbar.js +137 -0
- index.html +327 -19
- script.js +52 -0
- style.css +49 -18
|
@@ -1,10 +1,13 @@
|
|
| 1 |
---
|
| 2 |
-
title: Quantum Coder
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
sdk: static
|
| 7 |
pinned: false
|
|
|
|
|
|
|
| 8 |
---
|
| 9 |
|
| 10 |
-
|
|
|
|
|
|
| 1 |
---
|
| 2 |
+
title: Quantum Coder's Dark Odyssey π
|
| 3 |
+
colorFrom: red
|
| 4 |
+
colorTo: red
|
| 5 |
+
emoji: π³
|
| 6 |
sdk: static
|
| 7 |
pinned: false
|
| 8 |
+
tags:
|
| 9 |
+
- deepsite-v3
|
| 10 |
---
|
| 11 |
|
| 12 |
+
# Welcome to your new DeepSite project!
|
| 13 |
+
This project was created with [DeepSite](https://huggingface.co/deepsite).
|
|
@@ -0,0 +1,164 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
class CustomFooter extends HTMLElement {
|
| 2 |
+
connectedCallback() {
|
| 3 |
+
this.attachShadow({ mode: 'open' });
|
| 4 |
+
this.shadowRoot.innerHTML = `
|
| 5 |
+
<style>
|
| 6 |
+
:host {
|
| 7 |
+
display: block;
|
| 8 |
+
background-color: #020617;
|
| 9 |
+
color: #94a3b8;
|
| 10 |
+
padding: 3rem 0;
|
| 11 |
+
border-top: 1px solid rgba(109, 40, 217, 0.2);
|
| 12 |
+
}
|
| 13 |
+
|
| 14 |
+
.footer-container {
|
| 15 |
+
max-width: 1200px;
|
| 16 |
+
margin: 0 auto;
|
| 17 |
+
padding: 0 2rem;
|
| 18 |
+
display: grid;
|
| 19 |
+
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
|
| 20 |
+
gap: 2rem;
|
| 21 |
+
}
|
| 22 |
+
|
| 23 |
+
.footer-logo {
|
| 24 |
+
font-family: 'Space Grotesk', sans-serif;
|
| 25 |
+
font-weight: 700;
|
| 26 |
+
font-size: 1.5rem;
|
| 27 |
+
color: white;
|
| 28 |
+
margin-bottom: 1rem;
|
| 29 |
+
display: inline-block;
|
| 30 |
+
}
|
| 31 |
+
|
| 32 |
+
.footer-highlight {
|
| 33 |
+
color: #6d28d9;
|
| 34 |
+
}
|
| 35 |
+
|
| 36 |
+
.footer-about p {
|
| 37 |
+
margin-bottom: 1.5rem;
|
| 38 |
+
line-height: 1.6;
|
| 39 |
+
}
|
| 40 |
+
|
| 41 |
+
.footer-links h3 {
|
| 42 |
+
color: white;
|
| 43 |
+
margin-bottom: 1.5rem;
|
| 44 |
+
font-size: 1.2rem;
|
| 45 |
+
}
|
| 46 |
+
|
| 47 |
+
.footer-links ul {
|
| 48 |
+
list-style: none;
|
| 49 |
+
padding: 0;
|
| 50 |
+
}
|
| 51 |
+
|
| 52 |
+
.footer-links li {
|
| 53 |
+
margin-bottom: 0.75rem;
|
| 54 |
+
}
|
| 55 |
+
|
| 56 |
+
.footer-links a {
|
| 57 |
+
color: #94a3b8;
|
| 58 |
+
text-decoration: none;
|
| 59 |
+
transition: color 0.3s ease;
|
| 60 |
+
}
|
| 61 |
+
|
| 62 |
+
.footer-links a:hover {
|
| 63 |
+
color: #6d28d9;
|
| 64 |
+
}
|
| 65 |
+
|
| 66 |
+
.social-links {
|
| 67 |
+
display: flex;
|
| 68 |
+
gap: 1rem;
|
| 69 |
+
margin-top: 1.5rem;
|
| 70 |
+
}
|
| 71 |
+
|
| 72 |
+
.social-link {
|
| 73 |
+
display: flex;
|
| 74 |
+
align-items: center;
|
| 75 |
+
justify-content: center;
|
| 76 |
+
width: 40px;
|
| 77 |
+
height: 40px;
|
| 78 |
+
border-radius: 50%;
|
| 79 |
+
background-color: rgba(109, 40, 217, 0.1);
|
| 80 |
+
color: #94a3b8;
|
| 81 |
+
transition: all 0.3s ease;
|
| 82 |
+
}
|
| 83 |
+
|
| 84 |
+
.social-link:hover {
|
| 85 |
+
background-color: #6d28d9;
|
| 86 |
+
color: white;
|
| 87 |
+
transform: translateY(-3px);
|
| 88 |
+
}
|
| 89 |
+
|
| 90 |
+
.copyright {
|
| 91 |
+
text-align: center;
|
| 92 |
+
margin-top: 3rem;
|
| 93 |
+
padding-top: 2rem;
|
| 94 |
+
border-top: 1px solid rgba(109, 40, 217, 0.2);
|
| 95 |
+
font-size: 0.9rem;
|
| 96 |
+
}
|
| 97 |
+
|
| 98 |
+
@media (max-width: 768px) {
|
| 99 |
+
.footer-container {
|
| 100 |
+
grid-template-columns: 1fr;
|
| 101 |
+
}
|
| 102 |
+
}
|
| 103 |
+
</style>
|
| 104 |
+
|
| 105 |
+
<div class="footer-container">
|
| 106 |
+
<div class="footer-about">
|
| 107 |
+
<a href="#hero" class="footer-logo">
|
| 108 |
+
<span class="footer-highlight">Quantum</span>Coder
|
| 109 |
+
</a>
|
| 110 |
+
<p>Building intelligent systems that understand and generate human language.</p>
|
| 111 |
+
<div class="social-links">
|
| 112 |
+
<a href="#" class="social-link">
|
| 113 |
+
<i data-feather="github"></i>
|
| 114 |
+
</a>
|
| 115 |
+
<a href="#" class="social-link">
|
| 116 |
+
<i data-feather="linkedin"></i>
|
| 117 |
+
</a>
|
| 118 |
+
<a href="#" class="social-link">
|
| 119 |
+
<i data-feather="twitter"></i>
|
| 120 |
+
</a>
|
| 121 |
+
<a href="#" class="social-link">
|
| 122 |
+
<i data-feather="mail"></i>
|
| 123 |
+
</a>
|
| 124 |
+
</div>
|
| 125 |
+
</div>
|
| 126 |
+
|
| 127 |
+
<div class="footer-links">
|
| 128 |
+
<h3>Quick Links</h3>
|
| 129 |
+
<ul>
|
| 130 |
+
<li><a href="#about">About Me</a></li>
|
| 131 |
+
<li><a href="#skills">Skills</a></li>
|
| 132 |
+
<li><a href="#projects">Projects</a></li>
|
| 133 |
+
<li><a href="#contact">Contact</a></li>
|
| 134 |
+
</ul>
|
| 135 |
+
</div>
|
| 136 |
+
|
| 137 |
+
<div class="footer-links">
|
| 138 |
+
<h3>Technologies</h3>
|
| 139 |
+
<ul>
|
| 140 |
+
<li><a href="#">Machine Learning</a></li>
|
| 141 |
+
<li><a href="#">Large Language Models</a></li>
|
| 142 |
+
<li><a href="#">Natural Language Processing</a></li>
|
| 143 |
+
<li><a href="#">Software Development</a></li>
|
| 144 |
+
</ul>
|
| 145 |
+
</div>
|
| 146 |
+
|
| 147 |
+
<div class="footer-links">
|
| 148 |
+
<h3>Contact Info</h3>
|
| 149 |
+
<ul>
|
| 150 |
+
<li><a href="mailto:hello@quantumcoder.com">hello@quantumcoder.com</a></li>
|
| 151 |
+
<li><a href="#">San Francisco, CA</a></li>
|
| 152 |
+
<li><a href="#">Available for freelance</a></li>
|
| 153 |
+
</ul>
|
| 154 |
+
</div>
|
| 155 |
+
</div>
|
| 156 |
+
|
| 157 |
+
<div class="copyright">
|
| 158 |
+
© ${new Date().getFullYear()} Quantum Coder. All rights reserved.
|
| 159 |
+
</div>
|
| 160 |
+
`;
|
| 161 |
+
}
|
| 162 |
+
}
|
| 163 |
+
|
| 164 |
+
customElements.define('custom-footer', CustomFooter);
|
|
@@ -0,0 +1,137 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
class CustomNavbar extends HTMLElement {
|
| 2 |
+
connectedCallback() {
|
| 3 |
+
this.attachShadow({ mode: 'open' });
|
| 4 |
+
this.shadowRoot.innerHTML = `
|
| 5 |
+
<style>
|
| 6 |
+
:host {
|
| 7 |
+
display: block;
|
| 8 |
+
position: fixed;
|
| 9 |
+
top: 0;
|
| 10 |
+
left: 0;
|
| 11 |
+
right: 0;
|
| 12 |
+
z-index: 1000;
|
| 13 |
+
backdrop-filter: blur(10px);
|
| 14 |
+
background-color: rgba(2, 6, 23, 0.8);
|
| 15 |
+
border-bottom: 1px solid rgba(109, 40, 217, 0.2);
|
| 16 |
+
}
|
| 17 |
+
|
| 18 |
+
.navbar-container {
|
| 19 |
+
max-width: 1200px;
|
| 20 |
+
margin: 0 auto;
|
| 21 |
+
padding: 1rem 2rem;
|
| 22 |
+
display: flex;
|
| 23 |
+
justify-content: space-between;
|
| 24 |
+
align-items: center;
|
| 25 |
+
}
|
| 26 |
+
|
| 27 |
+
.logo {
|
| 28 |
+
font-family: 'Space Grotesk', sans-serif;
|
| 29 |
+
font-weight: 700;
|
| 30 |
+
font-size: 1.5rem;
|
| 31 |
+
color: white;
|
| 32 |
+
text-decoration: none;
|
| 33 |
+
display: flex;
|
| 34 |
+
align-items: center;
|
| 35 |
+
gap: 0.5rem;
|
| 36 |
+
}
|
| 37 |
+
|
| 38 |
+
.logo:hover {
|
| 39 |
+
color: #6d28d9;
|
| 40 |
+
}
|
| 41 |
+
|
| 42 |
+
.logo-highlight {
|
| 43 |
+
color: #6d28d9;
|
| 44 |
+
}
|
| 45 |
+
|
| 46 |
+
.nav-links {
|
| 47 |
+
display: flex;
|
| 48 |
+
gap: 2rem;
|
| 49 |
+
align-items: center;
|
| 50 |
+
}
|
| 51 |
+
|
| 52 |
+
.nav-link {
|
| 53 |
+
color: rgba(255, 255, 255, 0.8);
|
| 54 |
+
text-decoration: none;
|
| 55 |
+
font-size: 1rem;
|
| 56 |
+
transition: color 0.3s ease;
|
| 57 |
+
position: relative;
|
| 58 |
+
}
|
| 59 |
+
|
| 60 |
+
.nav-link:hover {
|
| 61 |
+
color: white;
|
| 62 |
+
}
|
| 63 |
+
|
| 64 |
+
.nav-link::after {
|
| 65 |
+
content: '';
|
| 66 |
+
position: absolute;
|
| 67 |
+
bottom: -5px;
|
| 68 |
+
left: 0;
|
| 69 |
+
width: 0;
|
| 70 |
+
height: 2px;
|
| 71 |
+
background-color: #6d28d9;
|
| 72 |
+
transition: width 0.3s ease;
|
| 73 |
+
}
|
| 74 |
+
|
| 75 |
+
.nav-link:hover::after {
|
| 76 |
+
width: 100%;
|
| 77 |
+
}
|
| 78 |
+
|
| 79 |
+
.mobile-menu-button {
|
| 80 |
+
display: none;
|
| 81 |
+
background: none;
|
| 82 |
+
border: none;
|
| 83 |
+
color: white;
|
| 84 |
+
cursor: pointer;
|
| 85 |
+
}
|
| 86 |
+
|
| 87 |
+
.theme-toggle {
|
| 88 |
+
background: none;
|
| 89 |
+
border: none;
|
| 90 |
+
color: white;
|
| 91 |
+
cursor: pointer;
|
| 92 |
+
display: flex;
|
| 93 |
+
align-items: center;
|
| 94 |
+
padding: 0.5rem;
|
| 95 |
+
border-radius: 50%;
|
| 96 |
+
transition: background-color 0.3s ease;
|
| 97 |
+
}
|
| 98 |
+
|
| 99 |
+
.theme-toggle:hover {
|
| 100 |
+
background-color: rgba(109, 40, 217, 0.2);
|
| 101 |
+
}
|
| 102 |
+
|
| 103 |
+
@media (max-width: 768px) {
|
| 104 |
+
.nav-links {
|
| 105 |
+
display: none;
|
| 106 |
+
}
|
| 107 |
+
|
| 108 |
+
.mobile-menu-button {
|
| 109 |
+
display: block;
|
| 110 |
+
}
|
| 111 |
+
}
|
| 112 |
+
</style>
|
| 113 |
+
|
| 114 |
+
<div class="navbar-container">
|
| 115 |
+
<a href="#hero" class="logo">
|
| 116 |
+
<span class="logo-highlight">Quantum</span>Coder
|
| 117 |
+
</a>
|
| 118 |
+
|
| 119 |
+
<div class="nav-links">
|
| 120 |
+
<a href="#about" class="nav-link">About</a>
|
| 121 |
+
<a href="#skills" class="nav-link">Skills</a>
|
| 122 |
+
<a href="#projects" class="nav-link">Projects</a>
|
| 123 |
+
<a href="#contact" class="nav-link">Contact</a>
|
| 124 |
+
<button id="darkModeToggle" class="theme-toggle">
|
| 125 |
+
<i data-feather="moon"></i>
|
| 126 |
+
</button>
|
| 127 |
+
</div>
|
| 128 |
+
|
| 129 |
+
<button class="mobile-menu-button">
|
| 130 |
+
<i data-feather="menu"></i>
|
| 131 |
+
</button>
|
| 132 |
+
</div>
|
| 133 |
+
`;
|
| 134 |
+
}
|
| 135 |
+
}
|
| 136 |
+
|
| 137 |
+
customElements.define('custom-navbar', CustomNavbar);
|
|
@@ -1,19 +1,327 @@
|
|
| 1 |
-
<!
|
| 2 |
-
<html>
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html>
|
| 2 |
+
<html lang="en" class="dark">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="UTF-8">
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
| 6 |
+
<title>Quantum Coder | ML & LLM Specialist</title>
|
| 7 |
+
<link rel="icon" type="image/x-icon" href="/static/favicon.ico">
|
| 8 |
+
<link rel="stylesheet" href="style.css">
|
| 9 |
+
<script src="https://cdn.tailwindcss.com"></script>
|
| 10 |
+
<script>
|
| 11 |
+
tailwind.config = {
|
| 12 |
+
darkMode: 'class',
|
| 13 |
+
theme: {
|
| 14 |
+
extend: {
|
| 15 |
+
colors: {
|
| 16 |
+
primary: '#6d28d9',
|
| 17 |
+
secondary: '#10b981',
|
| 18 |
+
dark: '#0f172a',
|
| 19 |
+
darker: '#020617'
|
| 20 |
+
}
|
| 21 |
+
}
|
| 22 |
+
}
|
| 23 |
+
}
|
| 24 |
+
</script>
|
| 25 |
+
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=Space+Mono:wght@400;700&display=swap" rel="stylesheet">
|
| 26 |
+
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
|
| 27 |
+
<script src="https://unpkg.com/feather-icons"></script>
|
| 28 |
+
</head>
|
| 29 |
+
<body class="bg-darker text-gray-200 font-sans antialiased">
|
| 30 |
+
<custom-navbar></custom-navbar>
|
| 31 |
+
|
| 32 |
+
<!-- Hero Section -->
|
| 33 |
+
<section id="hero" class="min-h-screen flex items-center justify-center relative overflow-hidden">
|
| 34 |
+
<div class="absolute inset-0 bg-gradient-to-br from-primary/10 via-darker to-darker z-0"></div>
|
| 35 |
+
<div class="container mx-auto px-6 py-24 z-10 relative">
|
| 36 |
+
<div class="flex flex-col md:flex-row items-center">
|
| 37 |
+
<div class="md:w-1/2 mb-12 md:mb-0">
|
| 38 |
+
<h4 class="text-secondary font-mono mb-4">Hi, I'm</h4>
|
| 39 |
+
<h1 class="text-5xl md:text-7xl font-bold mb-6 leading-tight">Quantum <span class="text-primary">Coder</span></h1>
|
| 40 |
+
<h2 class="text-xl md:text-2xl mb-6 text-gray-400">ML Engineer & LLM Specialist</h2>
|
| 41 |
+
<p class="text-gray-400 mb-8 max-w-lg">Building intelligent systems that understand and generate human language.</p>
|
| 42 |
+
<div class="flex gap-4">
|
| 43 |
+
<a href="#projects" class="bg-primary hover:bg-primary/80 text-white px-6 py-3 rounded-md transition-all flex items-center gap-2">
|
| 44 |
+
<i data-feather="code"></i> View Projects
|
| 45 |
+
</a>
|
| 46 |
+
<a href="#" class="border border-primary text-primary hover:bg-primary/10 px-6 py-3 rounded-md transition-all flex items-center gap-2">
|
| 47 |
+
<i data-feather="download"></i> Download CV
|
| 48 |
+
</a>
|
| 49 |
+
</div>
|
| 50 |
+
</div>
|
| 51 |
+
<div class="md:w-1/2 flex justify-center">
|
| 52 |
+
<div class="relative">
|
| 53 |
+
<div class="w-64 h-64 md:w-80 md:h-80 bg-gradient-to-br from-primary to-secondary rounded-full opacity-20 blur-3xl absolute -z-10"></div>
|
| 54 |
+
<img src="http://static.photos/technology/640x360/42" alt="Profile" class="rounded-full w-64 h-64 md:w-80 md:h-80 object-cover border-4 border-primary/50">
|
| 55 |
+
</div>
|
| 56 |
+
</div>
|
| 57 |
+
</div>
|
| 58 |
+
</div>
|
| 59 |
+
</section>
|
| 60 |
+
|
| 61 |
+
<!-- About Section -->
|
| 62 |
+
<section id="about" class="py-20 bg-dark">
|
| 63 |
+
<div class="container mx-auto px-6">
|
| 64 |
+
<h2 class="text-3xl font-bold mb-12 text-center"><span class="text-primary">//</span> About Me</h2>
|
| 65 |
+
<div class="flex flex-col md:flex-row gap-12 items-center">
|
| 66 |
+
<div class="md:w-1/3 flex justify-center">
|
| 67 |
+
<img src="http://static.photos/workspace/640x360/23" alt="Working" class="rounded-lg w-full max-w-md shadow-xl border border-primary/20">
|
| 68 |
+
</div>
|
| 69 |
+
<div class="md:w-2/3">
|
| 70 |
+
<p class="text-gray-400 mb-6 leading-relaxed">
|
| 71 |
+
I'm a passionate data scientist and software developer specializing in machine learning and large language models. With 5+ years of experience, I've built intelligent systems that process, understand, and generate human language at scale.
|
| 72 |
+
</p>
|
| 73 |
+
<p class="text-gray-400 mb-6 leading-relaxed">
|
| 74 |
+
My approach combines cutting-edge ML techniques with robust software engineering principles. I believe in building systems that are not just technically impressive but also practical and maintainable in production environments.
|
| 75 |
+
</p>
|
| 76 |
+
<p class="text-gray-400 mb-8 leading-relaxed">
|
| 77 |
+
When I'm not training models, you can find me contributing to open-source projects, writing technical blogs, or exploring new developments in AI research.
|
| 78 |
+
</p>
|
| 79 |
+
<div class="flex flex-wrap gap-4">
|
| 80 |
+
<a href="#" class="flex items-center gap-2 text-gray-400 hover:text-secondary transition-colors">
|
| 81 |
+
<i data-feather="github"></i> GitHub
|
| 82 |
+
</a>
|
| 83 |
+
<a href="#" class="flex items-center gap-2 text-gray-400 hover:text-secondary transition-colors">
|
| 84 |
+
<i data-feather="linkedin"></i> LinkedIn
|
| 85 |
+
</a>
|
| 86 |
+
<a href="#" class="flex items-center gap-2 text-gray-400 hover:text-secondary transition-colors">
|
| 87 |
+
<i data-feather="twitter"></i> Twitter
|
| 88 |
+
</a>
|
| 89 |
+
<a href="#" class="flex items-center gap-2 text-gray-400 hover:text-secondary transition-colors">
|
| 90 |
+
<i data-feather="file-text"></i> View Full Resume
|
| 91 |
+
</a>
|
| 92 |
+
</div>
|
| 93 |
+
</div>
|
| 94 |
+
</div>
|
| 95 |
+
</div>
|
| 96 |
+
</section>
|
| 97 |
+
|
| 98 |
+
<!-- Skills Section -->
|
| 99 |
+
<section id="skills" class="py-20 bg-darker">
|
| 100 |
+
<div class="container mx-auto px-6">
|
| 101 |
+
<h2 class="text-3xl font-bold mb-12 text-center"><span class="text-primary">//</span> Skills & Technologies</h2>
|
| 102 |
+
<div class="grid grid-cols-1 md:grid-cols-3 gap-8">
|
| 103 |
+
<!-- ML Skills -->
|
| 104 |
+
<div class="bg-dark p-6 rounded-xl border border-gray-800">
|
| 105 |
+
<div class="flex items-center gap-3 mb-6">
|
| 106 |
+
<div class="bg-primary/20 p-3 rounded-lg">
|
| 107 |
+
<i data-feather="cpu" class="text-primary"></i>
|
| 108 |
+
</div>
|
| 109 |
+
<h3 class="text-xl font-bold">Machine Learning</h3>
|
| 110 |
+
</div>
|
| 111 |
+
<div class="flex flex-wrap gap-3">
|
| 112 |
+
<span class="bg-primary/10 text-primary px-3 py-1 rounded-full text-sm">TensorFlow</span>
|
| 113 |
+
<span class="bg-primary/10 text-primary px-3 py-1 rounded-full text-sm">PyTorch</span>
|
| 114 |
+
<span class="bg-primary/10 text-primary px-3 py-1 rounded-full text-sm">Transformers</span>
|
| 115 |
+
<span class="bg-primary/10 text-primary px-3 py-1 rounded-full text-sm">LLMs</span>
|
| 116 |
+
<span class="bg-primary/10 text-primary px-3 py-1 rounded-full text-sm">NLP</span>
|
| 117 |
+
<span class="bg-primary/10 text-primary px-3 py-1 rounded-full text-sm">Computer Vision</span>
|
| 118 |
+
</div>
|
| 119 |
+
</div>
|
| 120 |
+
|
| 121 |
+
<!-- Dev Skills -->
|
| 122 |
+
<div class="bg-dark p-6 rounded-xl border border-gray-800">
|
| 123 |
+
<div class="flex items-center gap-3 mb-6">
|
| 124 |
+
<div class="bg-secondary/20 p-3 rounded-lg">
|
| 125 |
+
<i data-feather="code" class="text-secondary"></i>
|
| 126 |
+
</div>
|
| 127 |
+
<h3 class="text-xl font-bold">Software Development</h3>
|
| 128 |
+
</div>
|
| 129 |
+
<div class="flex flex-wrap gap-3">
|
| 130 |
+
<span class="bg-secondary/10 text-secondary px-3 py-1 rounded-full text-sm">Python</span>
|
| 131 |
+
<span class="bg-secondary/10 text-secondary px-3 py-1 rounded-full text-sm">JavaScript</span>
|
| 132 |
+
<span class="bg-secondary/10 text-secondary px-3 py-1 rounded-full text-sm">Docker</span>
|
| 133 |
+
<span class="bg-secondary/10 text-secondary px-3 py-1 rounded-full text-sm">Kubernetes</span>
|
| 134 |
+
<span class="bg-secondary/10 text-secondary px-3 py-1 rounded-full text-sm">FastAPI</span>
|
| 135 |
+
<span class="bg-secondary/10 text-secondary px-3 py-1 rounded-full text-sm">PostgreSQL</span>
|
| 136 |
+
</div>
|
| 137 |
+
</div>
|
| 138 |
+
|
| 139 |
+
<!-- Tools -->
|
| 140 |
+
<div class="bg-dark p-6 rounded-xl border border-gray-800">
|
| 141 |
+
<div class="flex items-center gap-3 mb-6">
|
| 142 |
+
<div class="bg-gray-500/20 p-3 rounded-lg">
|
| 143 |
+
<i data-feather="tool" class="text-gray-400"></i>
|
| 144 |
+
</div>
|
| 145 |
+
<h3 class="text-xl font-bold">Tools & Platforms</h3>
|
| 146 |
+
</div>
|
| 147 |
+
<div class="flex flex-wrap gap-3">
|
| 148 |
+
<span class="bg-gray-500/10 text-gray-400 px-3 py-1 rounded-full text-sm">AWS</span>
|
| 149 |
+
<span class="bg-gray-500/10 text-gray-400 px-3 py-1 rounded-full text-sm">GCP</span>
|
| 150 |
+
<span class="bg-gray-500/10 text-gray-400 px-3 py-1 rounded-full text-sm">Git</span>
|
| 151 |
+
<span class="bg-gray-500/10 text-gray-400 px-3 py-1 rounded-full text-sm">MLflow</span>
|
| 152 |
+
<span class="bg-gray-500/10 text-gray-400 px-3 py-1 rounded-full text-sm">Airflow</span>
|
| 153 |
+
<span class="bg-gray-500/10 text-gray-400 px-3 py-1 rounded-full text-sm">Weights & Biases</span>
|
| 154 |
+
</div>
|
| 155 |
+
</div>
|
| 156 |
+
</div>
|
| 157 |
+
</div>
|
| 158 |
+
</section>
|
| 159 |
+
|
| 160 |
+
<!-- Projects Section -->
|
| 161 |
+
<section id="projects" class="py-20 bg-dark">
|
| 162 |
+
<div class="container mx-auto px-6">
|
| 163 |
+
<h2 class="text-3xl font-bold mb-12 text-center"><span class="text-primary">//</span> Featured Projects</h2>
|
| 164 |
+
|
| 165 |
+
<!-- Project 1 -->
|
| 166 |
+
<div class="grid grid-cols-1 md:grid-cols-2 gap-8 mb-16 items-center">
|
| 167 |
+
<div class="relative group">
|
| 168 |
+
<div class="absolute inset-0 bg-gradient-to-br from-primary to-secondary opacity-30 rounded-xl blur-md group-hover:opacity-50 transition-all"></div>
|
| 169 |
+
<img src="http://static.photos/technology/1024x576/89" alt="LLM Project" class="rounded-xl w-full h-auto border border-gray-700 relative group-hover:scale-[1.02] transition-all">
|
| 170 |
+
</div>
|
| 171 |
+
<div>
|
| 172 |
+
<h3 class="text-2xl font-bold mb-3">Enterprise LLM Platform</h3>
|
| 173 |
+
<p class="text-gray-400 mb-4">A customizable large language model platform for businesses to deploy private, domain-specific AI assistants.</p>
|
| 174 |
+
<div class="flex flex-wrap gap-2 mb-6">
|
| 175 |
+
<span class="bg-primary/10 text-primary px-3 py-1 rounded-full text-sm">Python</span>
|
| 176 |
+
<span class="bg-primary/10 text-primary px-3 py-1 rounded-full text-sm">PyTorch</span>
|
| 177 |
+
<span class="bg-primary/10 text-primary px-3 py-1 rounded-full text-sm">FastAPI</span>
|
| 178 |
+
<span class="bg-primary/10 text-primary px-3 py-1 rounded-full text-sm">Docker</span>
|
| 179 |
+
</div>
|
| 180 |
+
<div class="flex gap-4">
|
| 181 |
+
<a href="#" class="flex items-center gap-2 text-gray-400 hover:text-primary transition-colors">
|
| 182 |
+
<i data-feather="external-link"></i> Live Demo
|
| 183 |
+
</a>
|
| 184 |
+
<a href="#" class="flex items-center gap-2 text-gray-400 hover:text-primary transition-colors">
|
| 185 |
+
<i data-feather="github"></i> Source Code
|
| 186 |
+
</a>
|
| 187 |
+
</div>
|
| 188 |
+
</div>
|
| 189 |
+
</div>
|
| 190 |
+
|
| 191 |
+
<!-- Project 2 -->
|
| 192 |
+
<div class="grid grid-cols-1 md:grid-cols-2 gap-8 mb-16 items-center">
|
| 193 |
+
<div class="md:order-2 relative group">
|
| 194 |
+
<div class="absolute inset-0 bg-gradient-to-br from-secondary to-primary opacity-30 rounded-xl blur-md group-hover:opacity-50 transition-all"></div>
|
| 195 |
+
<img src="http://static.photos/technology/1024x576/34" alt="Sentiment Analysis" class="rounded-xl w-full h-auto border border-gray-700 relative group-hover:scale-[1.02] transition-all">
|
| 196 |
+
</div>
|
| 197 |
+
<div class="md:order-1">
|
| 198 |
+
<h3 class="text-2xl font-bold mb-3">Real-time Sentiment Analysis</h3>
|
| 199 |
+
<p class="text-gray-400 mb-4">A streaming pipeline that analyzes sentiment of customer support conversations in real-time using transformers.</p>
|
| 200 |
+
<div class="flex flex-wrap gap-2 mb-6">
|
| 201 |
+
<span class="bg-secondary/10 text-secondary px-3 py-1 rounded-full text-sm">Python</span>
|
| 202 |
+
<span class="bg-secondary/10 text-secondary px-3 py-1 rounded-full text-sm">Kafka</span>
|
| 203 |
+
<span class="bg-secondary/10 text-secondary px-3 py-1 rounded-full text-sm">Spark</span>
|
| 204 |
+
<span class="bg-secondary/10 text-secondary px-3 py-1 rounded-full text-sm">HuggingFace</span>
|
| 205 |
+
</div>
|
| 206 |
+
<div class="flex gap-4">
|
| 207 |
+
<a href="#" class="flex items-center gap-2 text-gray-400 hover:text-secondary transition-colors">
|
| 208 |
+
<i data-feather="external-link"></i> Live Demo
|
| 209 |
+
</a>
|
| 210 |
+
<a href="#" class="flex items-center gap-2 text-gray-400 hover:text-secondary transition-colors">
|
| 211 |
+
<i data-feather="github"></i> Source Code
|
| 212 |
+
</a>
|
| 213 |
+
</div>
|
| 214 |
+
</div>
|
| 215 |
+
</div>
|
| 216 |
+
|
| 217 |
+
<!-- Project 3 -->
|
| 218 |
+
<div class="grid grid-cols-1 md:grid-cols-2 gap-8 items-center">
|
| 219 |
+
<div class="relative group">
|
| 220 |
+
<div class="absolute inset-0 bg-gradient-to-br from-primary to-purple-500 opacity-30 rounded-xl blur-md group-hover:opacity-50 transition-all"></div>
|
| 221 |
+
<img src="http://static.photos/technology/1024x576/76" alt="Recommendation System" class="rounded-xl w-full h-auto border border-gray-700 relative group-hover:scale-[1.02] transition-all">
|
| 222 |
+
</div>
|
| 223 |
+
<div>
|
| 224 |
+
<h3 class="text-2xl font-bold mb-3">Personalized Recommendation Engine</h3>
|
| 225 |
+
<p class="text-gray-400 mb-4">A hybrid recommendation system combining collaborative filtering and content-based approaches for an e-commerce platform.</p>
|
| 226 |
+
<div class="flex flex-wrap gap-2 mb-6">
|
| 227 |
+
<span class="bg-primary/10 text-primary px-3 py-1 rounded-full text-sm">Python</span>
|
| 228 |
+
<span class="bg-primary/10 text-primary px-3 py-1 rounded-full text-sm">TensorFlow</span>
|
| 229 |
+
<span class="bg-primary/10 text-primary px-3 py-1 rounded-full text-sm">Flask</span>
|
| 230 |
+
<span class="bg-primary/10 text-primary px-3 py-1 rounded-full text-sm">Redis</span>
|
| 231 |
+
</div>
|
| 232 |
+
<div class="flex gap-4">
|
| 233 |
+
<a href="#" class="flex items-center gap-2 text-gray-400 hover:text-primary transition-colors">
|
| 234 |
+
<i data-feather="external-link"></i> Live Demo
|
| 235 |
+
</a>
|
| 236 |
+
<a href="#" class="flex items-center gap-2 text-gray-400 hover:text-primary transition-colors">
|
| 237 |
+
<i data-feather="github"></i> Source Code
|
| 238 |
+
</a>
|
| 239 |
+
</div>
|
| 240 |
+
</div>
|
| 241 |
+
</div>
|
| 242 |
+
</div>
|
| 243 |
+
</section>
|
| 244 |
+
|
| 245 |
+
<!-- Contact Section -->
|
| 246 |
+
<section id="contact" class="py-20 bg-darker">
|
| 247 |
+
<div class="container mx-auto px-6 max-w-4xl">
|
| 248 |
+
<h2 class="text-3xl font-bold mb-12 text-center"><span class="text-primary">//</span> Get In Touch</h2>
|
| 249 |
+
<div class="bg-dark p-8 rounded-xl border border-gray-800">
|
| 250 |
+
<form class="space-y-6">
|
| 251 |
+
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
|
| 252 |
+
<div>
|
| 253 |
+
<label for="name" class="block text-gray-400 mb-2">Name</label>
|
| 254 |
+
<input type="text" id="name" class="w-full bg-gray-900 border border-gray-700 rounded-md px-4 py-3 text-gray-300 focus:outline-none focus:ring-2 focus:ring-primary focus:border-transparent">
|
| 255 |
+
</div>
|
| 256 |
+
<div>
|
| 257 |
+
<label for="email" class="block text-gray-400 mb-2">Email</label>
|
| 258 |
+
<input type="email" id="email" class="w-full bg-gray-900 border border-gray-700 rounded-md px-4 py-3 text-gray-300 focus:outline-none focus:ring-2 focus:ring-primary focus:border-transparent">
|
| 259 |
+
</div>
|
| 260 |
+
</div>
|
| 261 |
+
<div>
|
| 262 |
+
<label for="subject" class="block text-gray-400 mb-2">Subject</label>
|
| 263 |
+
<input type="text" id="subject" class="w-full bg-gray-900 border border-gray-700 rounded-md px-4 py-3 text-gray-300 focus:outline-none focus:ring-2 focus:ring-primary focus:border-transparent">
|
| 264 |
+
</div>
|
| 265 |
+
<div>
|
| 266 |
+
<label for="message" class="block text-gray-400 mb-2">Message</label>
|
| 267 |
+
<textarea id="message" rows="5" class="w-full bg-gray-900 border border-gray-700 rounded-md px-4 py-3 text-gray-300 focus:outline-none focus:ring-2 focus:ring-primary focus:border-transparent"></textarea>
|
| 268 |
+
</div>
|
| 269 |
+
<button type="submit" class="bg-primary hover:bg-primary/90 text-white px-6 py-3 rounded-md transition-all w-full md:w-auto flex items-center justify-center gap-2">
|
| 270 |
+
<i data-feather="send"></i> Send Message
|
| 271 |
+
</button>
|
| 272 |
+
</form>
|
| 273 |
+
|
| 274 |
+
<div class="mt-12 pt-8 border-t border-gray-800">
|
| 275 |
+
<h3 class="text-xl font-bold mb-6">Or reach out directly</h3>
|
| 276 |
+
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
|
| 277 |
+
<div class="flex items-center gap-4">
|
| 278 |
+
<div class="bg-primary/20 p-3 rounded-lg">
|
| 279 |
+
<i data-feather="mail" class="text-primary"></i>
|
| 280 |
+
</div>
|
| 281 |
+
<div>
|
| 282 |
+
<h4 class="text-gray-400 mb-1">Email</h4>
|
| 283 |
+
<a href="mailto:hello@quantumcoder.com" class="text-gray-200 hover:text-primary transition-colors">hello@quantumcoder.com</a>
|
| 284 |
+
</div>
|
| 285 |
+
</div>
|
| 286 |
+
<div class="flex items-center gap-4">
|
| 287 |
+
<div class="bg-secondary/20 p-3 rounded-lg">
|
| 288 |
+
<i data-feather="github" class="text-secondary"></i>
|
| 289 |
+
</div>
|
| 290 |
+
<div>
|
| 291 |
+
<h4 class="text-gray-400 mb-1">GitHub</h4>
|
| 292 |
+
<a href="https://github.com/quantumcoder" class="text-gray-200 hover:text-secondary transition-colors">github.com/quantumcoder</a>
|
| 293 |
+
</div>
|
| 294 |
+
</div>
|
| 295 |
+
<div class="flex items-center gap-4">
|
| 296 |
+
<div class="bg-blue-500/20 p-3 rounded-lg">
|
| 297 |
+
<i data-feather="linkedin" class="text-blue-500"></i>
|
| 298 |
+
</div>
|
| 299 |
+
<div>
|
| 300 |
+
<h4 class="text-gray-400 mb-1">LinkedIn</h4>
|
| 301 |
+
<a href="https://linkedin.com/in/quantumcoder" class="text-gray-200 hover:text-blue-500 transition-colors">linkedin.com/in/quantumcoder</a>
|
| 302 |
+
</div>
|
| 303 |
+
</div>
|
| 304 |
+
<div class="flex items-center gap-4">
|
| 305 |
+
<div class="bg-purple-500/20 p-3 rounded-lg">
|
| 306 |
+
<i data-feather="twitter" class="text-purple-500"></i>
|
| 307 |
+
</div>
|
| 308 |
+
<div>
|
| 309 |
+
<h4 class="text-gray-400 mb-1">Twitter</h4>
|
| 310 |
+
<a href="https://twitter.com/quantumcoder" class="text-gray-200 hover:text-purple-500 transition-colors">@quantumcoder</a>
|
| 311 |
+
</div>
|
| 312 |
+
</div>
|
| 313 |
+
</div>
|
| 314 |
+
</div>
|
| 315 |
+
</div>
|
| 316 |
+
</div>
|
| 317 |
+
</section>
|
| 318 |
+
|
| 319 |
+
<custom-footer></custom-footer>
|
| 320 |
+
|
| 321 |
+
<script src="components/navbar.js"></script>
|
| 322 |
+
<script src="components/footer.js"></script>
|
| 323 |
+
<script src="script.js"></script>
|
| 324 |
+
<script>feather.replace();</script>
|
| 325 |
+
<script src="https://huggingface.co/deepsite/deepsite-badge.js"></script>
|
| 326 |
+
</body>
|
| 327 |
+
</html>
|
|
@@ -0,0 +1,52 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
document.addEventListener('DOMContentLoaded', function() {
|
| 2 |
+
// Smooth scrolling for anchor links
|
| 3 |
+
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
|
| 4 |
+
anchor.addEventListener('click', function (e) {
|
| 5 |
+
e.preventDefault();
|
| 6 |
+
|
| 7 |
+
const targetId = this.getAttribute('href');
|
| 8 |
+
if (targetId === '#') return;
|
| 9 |
+
|
| 10 |
+
const targetElement = document.querySelector(targetId);
|
| 11 |
+
if (targetElement) {
|
| 12 |
+
window.scrollTo({
|
| 13 |
+
top: targetElement.offsetTop - 80,
|
| 14 |
+
behavior: 'smooth'
|
| 15 |
+
});
|
| 16 |
+
}
|
| 17 |
+
});
|
| 18 |
+
});
|
| 19 |
+
|
| 20 |
+
// Dark mode toggle
|
| 21 |
+
const darkModeToggle = document.getElementById('darkModeToggle');
|
| 22 |
+
if (darkModeToggle) {
|
| 23 |
+
darkModeToggle.addEventListener('click', function() {
|
| 24 |
+
document.documentElement.classList.toggle('dark');
|
| 25 |
+
localStorage.setItem('darkMode', document.documentElement.classList.contains('dark'));
|
| 26 |
+
});
|
| 27 |
+
}
|
| 28 |
+
|
| 29 |
+
// Check for saved dark mode preference
|
| 30 |
+
if (localStorage.getItem('darkMode') === 'true' ||
|
| 31 |
+
(!localStorage.getItem('darkMode') && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
|
| 32 |
+
document.documentElement.classList.add('dark');
|
| 33 |
+
}
|
| 34 |
+
|
| 35 |
+
// Intersection Observer for animations
|
| 36 |
+
const observerOptions = {
|
| 37 |
+
threshold: 0.1
|
| 38 |
+
};
|
| 39 |
+
|
| 40 |
+
const animateOnScroll = new IntersectionObserver((entries) => {
|
| 41 |
+
entries.forEach(entry => {
|
| 42 |
+
if (entry.isIntersecting) {
|
| 43 |
+
entry.target.classList.add('animate-fadeIn');
|
| 44 |
+
animateOnScroll.unobserve(entry.target);
|
| 45 |
+
}
|
| 46 |
+
});
|
| 47 |
+
}, observerOptions);
|
| 48 |
+
|
| 49 |
+
document.querySelectorAll('.animate-on-scroll').forEach(el => {
|
| 50 |
+
animateOnScroll.observe(el);
|
| 51 |
+
});
|
| 52 |
+
});
|
|
@@ -1,28 +1,59 @@
|
|
|
|
|
|
|
|
| 1 |
body {
|
| 2 |
-
|
| 3 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4 |
}
|
| 5 |
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
margin-top: 0;
|
| 9 |
}
|
| 10 |
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
margin-bottom: 10px;
|
| 15 |
-
margin-top: 5px;
|
| 16 |
}
|
| 17 |
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
margin: 0 auto;
|
| 21 |
-
padding: 16px;
|
| 22 |
-
border: 1px solid lightgray;
|
| 23 |
-
border-radius: 16px;
|
| 24 |
}
|
| 25 |
|
| 26 |
-
|
| 27 |
-
|
|
|
|
| 28 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=Space+Mono:wght@400;700&display=swap');
|
| 2 |
+
|
| 3 |
body {
|
| 4 |
+
font-family: 'Space Grotesk', sans-serif;
|
| 5 |
+
scroll-behavior: smooth;
|
| 6 |
+
}
|
| 7 |
+
|
| 8 |
+
h1, h2, h3, h4, h5, h6 {
|
| 9 |
+
font-family: 'Space Grotesk', sans-serif;
|
| 10 |
+
}
|
| 11 |
+
|
| 12 |
+
.font-mono {
|
| 13 |
+
font-family: 'Space Mono', monospace;
|
| 14 |
+
}
|
| 15 |
+
|
| 16 |
+
/* Custom Scrollbar */
|
| 17 |
+
::-webkit-scrollbar {
|
| 18 |
+
width: 8px;
|
| 19 |
+
height: 8px;
|
| 20 |
}
|
| 21 |
|
| 22 |
+
::-webkit-scrollbar-track {
|
| 23 |
+
background: #0f172a;
|
|
|
|
| 24 |
}
|
| 25 |
|
| 26 |
+
::-webkit-scrollbar-thumb {
|
| 27 |
+
background: #6d28d9;
|
| 28 |
+
border-radius: 4px;
|
|
|
|
|
|
|
| 29 |
}
|
| 30 |
|
| 31 |
+
::-webkit-scrollbar-thumb:hover {
|
| 32 |
+
background: #5b21b6;
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
}
|
| 34 |
|
| 35 |
+
/* Animation Classes */
|
| 36 |
+
.animate-float {
|
| 37 |
+
animation: float 6s ease-in-out infinite;
|
| 38 |
}
|
| 39 |
+
|
| 40 |
+
@keyframes float {
|
| 41 |
+
0% { transform: translateY(0px); }
|
| 42 |
+
50% { transform: translateY(-20px); }
|
| 43 |
+
100% { transform: translateY(0px); }
|
| 44 |
+
}
|
| 45 |
+
|
| 46 |
+
/* Hero Section Gradient */
|
| 47 |
+
.hero-gradient {
|
| 48 |
+
background: radial-gradient(circle at 70% 30%, rgba(109,40,217,0.2) 0%, rgba(15,23,42,0) 50%);
|
| 49 |
+
}
|
| 50 |
+
|
| 51 |
+
/* Project Card Hover Effect */
|
| 52 |
+
.project-card {
|
| 53 |
+
transition: all 0.3s ease;
|
| 54 |
+
}
|
| 55 |
+
|
| 56 |
+
.project-card:hover {
|
| 57 |
+
transform: translateY(-5px);
|
| 58 |
+
box-shadow: 0 10px 25px rgba(109,40,217,0.2);
|
| 59 |
+
}
|