A highly interactive, cinematic, futuristic, production-grade developer portfolio built with SvelteKit, showcasing frontend engineering mastery and advanced animation systems.
This project uses a modular and scalable architecture:
src/
āāā lib/
ā āāā components/
ā ā āāā layout/ # Navbar, Footer, Background
ā ā āāā sections/ # Hero, About, ProjectGrid, Skills, Contact
ā ā āāā terminal/ # Interactive Terminal UI
ā ā āāā three/ # WebGL / Threlte 3D scenes
ā āāā stores/ # Global Svelte stores (e.g., terminal state)
ā āāā data/ # Mock data (projects, skills, metadata)
āāā routes/
ā āāā +page.svelte # Main landing page orchestration
ā āāā +layout.svelte # Global layout wrapper
ā āāā layout.css # Global styles and Tailwind configuration
āāā app.html # HTML entry point with font preloads
The visual DNA is strictly based on a futuristic, terminal-inspired aesthetic:
#0d1516), cyan primary accents (#00daf3), and lavender secondary accents (#cdbdff).Geist for massive, tight-tracking display headers.JetBrains Mono for code snippets, labels, and the terminal interface.Inter for highly legible body copy.backdrop-blur), glowing borders, terminal block decorators, and pulsing status indicators.Animations are orchestrated using GSAP:
ScrollTrigger is used to fade and slide up components (projects, skills, contact elements) as they enter the viewport.To ensure a Lighthouse score > 90:
box-shadow and filter: blur(), avoiding expensive canvas rendering for simple gradients.app.html.onMount to prevent Server-Side Rendering (SSR) hydration mismatches.This portfolio exceeds the requirement of one creative feature by implementing several advanced systems:
Ctrl+K to open. Supports standard commands like ls, dir, whoami, cat, and cd [section] for keyboard-driven navigation.The contact form is powered by a production-ready SvelteKit API Route (/api/contact) integrated with Resend. It includes server-side validation and secure credential handling.
<nav>, <main>, <section>, <header>, and <footer>.Ctrl+K. The mobile menu dialog and terminal can be dismissed via the Escape key.:focus-visible outlines applied globally.@media (prefers-reduced-motion: reduce).npm install.env file in the root:RESEND_API_KEY=your_key_here
GROQ_API_KEY=your_groq_key_here
npm run devnpm run build
This project is configured to be deployed easily on Vercel, Netlify, or Cloudflare Pages using the standard @sveltejs/adapter-auto.
npm run build) and output directory will be automatically detected.ScrollTrigger) which are essential for the "cinematic" feel.@theme: Using the latest Tailwind version means @apply constraints (e.g., avoiding modifier classes like group inside @apply). Classes are kept inline in HTML to favor composition over abstraction.