Files

1 line
67 KiB
HTML

<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/Emil_Shanayev_Resume/_next/static/css/0afa8c32af7966a4.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/Emil_Shanayev_Resume/_next/static/chunks/webpack-72935318457440c1.js"/><script src="/Emil_Shanayev_Resume/_next/static/chunks/fd9d1056-1f1f859026f5f0fa.js" async=""></script><script src="/Emil_Shanayev_Resume/_next/static/chunks/117-7ac87016cfcdcaea.js" async=""></script><script src="/Emil_Shanayev_Resume/_next/static/chunks/main-app-fb5ba2c559766a0d.js" async=""></script><script src="/Emil_Shanayev_Resume/_next/static/chunks/965-d6165d8907a90ac3.js" async=""></script><script src="/Emil_Shanayev_Resume/_next/static/chunks/app/page-da9a3eb90e82b739.js" async=""></script><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"/><title>Emil Shanayev — DevOps &amp; Backend Engineer</title><meta name="description" content="Portfolio of Emil Shanayev — DevOps Engineer and Backend Developer specializing in Python/FastAPI, Kubernetes, Docker, and Linux infrastructure."/><meta name="author" content="Emil Shanayev"/><meta name="keywords" content="DevOps,Backend,Python,Go,Kubernetes,Docker,FastAPI"/><link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;600;700&amp;display=swap" rel="stylesheet"/><script src="/Emil_Shanayev_Resume/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="font-mono"><header class="sticky top-0 z-50 transition-all duration-300 bg-transparent"><nav class="max-w-3xl mx-auto px-5 sm:px-8 h-14 flex items-center justify-between"><span class="text-[11px] text-terminal-muted tracking-widest"><span class="text-terminal-amber">~/</span>emil28092005</span><div class="flex items-center gap-6"><a href="#skills" class="text-[11px] text-terminal-muted hover:text-terminal-text transition-colors tracking-wider">skills</a><a href="#projects" class="text-[11px] text-terminal-muted hover:text-terminal-text transition-colors tracking-wider">projects</a><a href="#contact" class="text-[11px] text-terminal-muted hover:text-terminal-text transition-colors tracking-wider">contact</a></div></nav></header><main class="max-w-3xl mx-auto px-5 sm:px-8 pb-40"><section class="pt-16 pb-24 sm:pt-20 sm:pb-32"><div class="mb-10 inline-flex items-center gap-2 text-[10px] text-terminal-muted tracking-widest"><span class="w-2.5 h-2.5 rounded-full bg-[#ff5f57]"></span><span class="w-2.5 h-2.5 rounded-full bg-[#febc2e]"></span><span class="w-2.5 h-2.5 rounded-full bg-[#28c840]"></span><span class="ml-3 opacity-40">portfolio.sh</span></div><p class="text-[11px] text-terminal-muted mb-8 tracking-wide"><span class="text-terminal-amber">visitor</span><span class="opacity-40">@portfolio</span><span class="opacity-40">:~$</span><span class="ml-2 text-terminal-text">cat whoami.txt</span></p><h1 class="text-4xl sm:text-5xl md:text-6xl font-bold text-terminal-text tracking-tight leading-none mb-5">Emil Shanayev</h1><p class="text-base sm:text-lg text-terminal-muted mb-10 h-7"><span class="text-terminal-amber opacity-60 mr-2">&gt;</span><span><span class="cursor-blink text-terminal-amber"></span></span></p><p class="text-sm text-terminal-muted leading-relaxed max-w-2xl mb-10 border-l-2 border-terminal-border pl-4">Building reliable systems from first principles. Specializing in Python/FastAPI, container orchestration, and Linux infrastructure. Student at Innopolis University (DSAI program).</p><div class="mb-12 flex items-start gap-2 text-[11px]"><span class="text-terminal-amber opacity-50 mt-0.5"></span><div><span class="text-terminal-text">Innopolis University</span><span class="text-terminal-muted mx-2">·</span><span class="text-terminal-muted">student</span></div></div><div class="flex flex-wrap gap-3"><a href="https://github.com/emil28092005" target="_blank" rel="noreferrer" class="group inline-flex items-center gap-2 px-4 py-2 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber hover:text-terminal-text transition-all duration-200 tracking-wide"><span class="text-terminal-amber opacity-0 group-hover:opacity-100 transition-opacity"></span><span class="uppercase tracking-widest text-[10px]">GitHub</span><span class="opacity-40">/</span><span>emil28092005</span></a><a href="mailto:emil28092005@gmail.com" rel="noreferrer" class="group inline-flex items-center gap-2 px-4 py-2 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber hover:text-terminal-text transition-all duration-200 tracking-wide"><span class="text-terminal-amber opacity-0 group-hover:opacity-100 transition-opacity"></span><span class="uppercase tracking-widest text-[10px]">Email</span><span class="opacity-40">/</span><span>emil28092005@gmail.com</span></a><a href="https://t.me/emilshanaty" target="_blank" rel="noreferrer" class="group inline-flex items-center gap-2 px-4 py-2 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber hover:text-terminal-text transition-all duration-200 tracking-wide"><span class="text-terminal-amber opacity-0 group-hover:opacity-100 transition-opacity"></span><span class="uppercase tracking-widest text-[10px]">Telegram</span><span class="opacity-40">/</span><span>@emilshanaty</span></a></div><div class="mt-16 h-px w-full bg-gradient-to-r from-terminal-amber/20 via-terminal-border to-transparent"></div></section><section id="skills" class="pb-24"><div style="opacity:0;transform:translateY(16px)"><div id="skills" class="flex items-center gap-4 mb-10"><span class="text-[10px] text-terminal-amber font-mono tracking-widest opacity-60">01</span><span class="text-[11px] text-terminal-muted font-mono tracking-[0.22em] uppercase">skills.list</span><div class="flex-1 h-px bg-terminal-border"></div></div></div><div class="space-y-0"><div style="opacity:0;transform:translateY(16px)"><div class="group flex flex-col sm:flex-row sm:items-start gap-3 sm:gap-0 py-3.5 border-b border-terminal-border/50 hover:border-terminal-border transition-colors"><div class="sm:w-36 flex-shrink-0 flex items-center gap-2"><span class="text-[9px] text-terminal-amber opacity-40 w-3 text-right">01</span><span class="text-[10px] text-terminal-muted tracking-[0.18em] uppercase pl-2">SYSTEM</span></div><div class="flex flex-wrap gap-2 sm:pl-4"><span class="px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default">Linux</span><span class="px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default">Bash</span><span class="px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default">SSH</span><span class="px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default">Nginx</span><span class="px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default">systemd</span><span class="px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default">Vim</span></div></div></div><div style="opacity:0;transform:translateY(16px)"><div class="group flex flex-col sm:flex-row sm:items-start gap-3 sm:gap-0 py-3.5 border-b border-terminal-border/50 hover:border-terminal-border transition-colors"><div class="sm:w-36 flex-shrink-0 flex items-center gap-2"><span class="text-[9px] text-terminal-amber opacity-40 w-3 text-right">02</span><span class="text-[10px] text-terminal-muted tracking-[0.18em] uppercase pl-2">LANGUAGES</span></div><div class="flex flex-wrap gap-2 sm:pl-4"><span class="px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default">Python</span><span class="px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default">Go</span><span class="px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default">TypeScript</span><span class="px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default">JavaScript</span><span class="px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default">Java</span><span class="px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default">C#</span></div></div></div><div style="opacity:0;transform:translateY(16px)"><div class="group flex flex-col sm:flex-row sm:items-start gap-3 sm:gap-0 py-3.5 border-b border-terminal-border/50 hover:border-terminal-border transition-colors"><div class="sm:w-36 flex-shrink-0 flex items-center gap-2"><span class="text-[9px] text-terminal-amber opacity-40 w-3 text-right">03</span><span class="text-[10px] text-terminal-muted tracking-[0.18em] uppercase pl-2">BACKEND</span></div><div class="flex flex-wrap gap-2 sm:pl-4"><span class="px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default">FastAPI</span><span class="px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default">asyncio</span><span class="px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default">PostgreSQL</span><span class="px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default">Redis</span><span class="px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default">SQLite</span></div></div></div><div style="opacity:0;transform:translateY(16px)"><div class="group flex flex-col sm:flex-row sm:items-start gap-3 sm:gap-0 py-3.5 border-b border-terminal-border/50 hover:border-terminal-border transition-colors"><div class="sm:w-36 flex-shrink-0 flex items-center gap-2"><span class="text-[9px] text-terminal-amber opacity-40 w-3 text-right">04</span><span class="text-[10px] text-terminal-muted tracking-[0.18em] uppercase pl-2">CONTAINERS</span></div><div class="flex flex-wrap gap-2 sm:pl-4"><span class="px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default">Docker</span><span class="px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default">Compose</span><span class="px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default">Kubernetes</span><span class="px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default">Helm</span><span class="px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default">Harbor</span></div></div></div><div style="opacity:0;transform:translateY(16px)"><div class="group flex flex-col sm:flex-row sm:items-start gap-3 sm:gap-0 py-3.5 border-b border-terminal-border/50 hover:border-terminal-border transition-colors"><div class="sm:w-36 flex-shrink-0 flex items-center gap-2"><span class="text-[9px] text-terminal-amber opacity-40 w-3 text-right">05</span><span class="text-[10px] text-terminal-muted tracking-[0.18em] uppercase pl-2">CI / CD</span></div><div class="flex flex-wrap gap-2 sm:pl-4"><span class="px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default">GitHub Actions</span><span class="px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default">Jenkins</span><span class="px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default">GitLab CI</span></div></div></div><div style="opacity:0;transform:translateY(16px)"><div class="group flex flex-col sm:flex-row sm:items-start gap-3 sm:gap-0 py-3.5 border-b border-terminal-border/50 hover:border-terminal-border transition-colors"><div class="sm:w-36 flex-shrink-0 flex items-center gap-2"><span class="text-[9px] text-terminal-amber opacity-40 w-3 text-right">06</span><span class="text-[10px] text-terminal-muted tracking-[0.18em] uppercase pl-2">CLOUD</span></div><div class="flex flex-wrap gap-2 sm:pl-4"><span class="px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default">Yandex Cloud</span><span class="px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default">VPS</span><span class="px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default">Server Admin</span></div></div></div><div style="opacity:0;transform:translateY(16px)"><div class="group flex flex-col sm:flex-row sm:items-start gap-3 sm:gap-0 py-3.5 border-b border-terminal-border/50 hover:border-terminal-border transition-colors"><div class="sm:w-36 flex-shrink-0 flex items-center gap-2"><span class="text-[9px] text-terminal-amber opacity-40 w-3 text-right">07</span><span class="text-[10px] text-terminal-muted tracking-[0.18em] uppercase pl-2">AI / LLM</span></div><div class="flex flex-wrap gap-2 sm:pl-4"><span class="px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default">OpenAI API</span><span class="px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default">Claude API</span><span class="px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default">LangChain</span><span class="px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default">Perplexity</span></div></div></div><div style="opacity:0;transform:translateY(16px)"><div class="group flex flex-col sm:flex-row sm:items-start gap-3 sm:gap-0 py-3.5 border-b border-terminal-border/50 hover:border-terminal-border transition-colors"><div class="sm:w-36 flex-shrink-0 flex items-center gap-2"><span class="text-[9px] text-terminal-amber opacity-40 w-3 text-right">08</span><span class="text-[10px] text-terminal-muted tracking-[0.18em] uppercase pl-2">TOOLING</span></div><div class="flex flex-wrap gap-2 sm:pl-4"><span class="px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default">Git</span><span class="px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default">Agile</span><span class="px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default">Scrum</span><span class="px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default">Jira</span></div></div></div></div></section><section id="projects" class="pb-24"><div style="opacity:0;transform:translateY(16px)"><div class="flex items-center gap-4 mb-10"><span class="text-[10px] text-terminal-amber font-mono tracking-widest opacity-60">02</span><span class="text-[11px] text-terminal-muted font-mono tracking-[0.22em] uppercase">projects.log</span><div class="flex-1 h-px bg-terminal-border"></div></div></div><div class="space-y-4"><div style="opacity:0;transform:translateY(16px)"><article class="group relative border border-terminal-border hover:border-terminal-amber/40 bg-terminal-card transition-all duration-200 p-5 sm:p-6"><div class="flex items-start justify-between gap-4 mb-3"><div class="flex items-center gap-3"><span class="text-[10px] text-terminal-amber opacity-40 font-mono">[<!-- -->01<!-- -->]</span><h3 class="text-sm font-semibold text-terminal-text group-hover:text-white transition-colors">FastAPI Async Platform</h3></div><div class="flex items-center gap-3 flex-shrink-0"><span class="text-[10px] tracking-widest text-terminal-green"><!-- -->deployed</span><a href="https://github.com/emil28092005" target="_blank" rel="noreferrer" class="text-[10px] text-terminal-muted hover:text-terminal-amber transition-colors tracking-wider"></a></div></div><p class="text-[12px] text-terminal-muted leading-relaxed mb-4 pl-9">High-performance async REST API built with FastAPI and PostgreSQL. Features Redis caching, Docker containerization, and Nginx reverse proxy on a Linux VPS.</p><div class="pl-9 flex flex-wrap gap-1.5"><span class="px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide">Python</span><span class="px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide">FastAPI</span><span class="px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide">PostgreSQL</span><span class="px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide">Redis</span><span class="px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide">Docker</span><span class="px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide">Nginx</span></div><div class="absolute left-0 top-0 bottom-0 w-0.5 bg-terminal-amber scale-y-0 group-hover:scale-y-100 transition-transform duration-200 origin-top"></div></article></div><div style="opacity:0;transform:translateY(16px)"><article class="group relative border border-terminal-border hover:border-terminal-amber/40 bg-terminal-card transition-all duration-200 p-5 sm:p-6"><div class="flex items-start justify-between gap-4 mb-3"><div class="flex items-center gap-3"><span class="text-[10px] text-terminal-amber opacity-40 font-mono">[<!-- -->02<!-- -->]</span><h3 class="text-sm font-semibold text-terminal-text group-hover:text-white transition-colors">K8s Infrastructure</h3></div><div class="flex items-center gap-3 flex-shrink-0"><span class="text-[10px] tracking-widest text-terminal-green"><!-- -->deployed</span><a href="https://github.com/emil28092005" target="_blank" rel="noreferrer" class="text-[10px] text-terminal-muted hover:text-terminal-amber transition-colors tracking-wider"></a></div></div><p class="text-[12px] text-terminal-muted leading-relaxed mb-4 pl-9">Production-grade Kubernetes cluster with Helm chart management, Harbor private container registry, and full CI/CD automation via GitHub Actions.</p><div class="pl-9 flex flex-wrap gap-1.5"><span class="px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide">Kubernetes</span><span class="px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide">Helm</span><span class="px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide">Harbor</span><span class="px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide">GitHub Actions</span><span class="px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide">Docker</span></div><div class="absolute left-0 top-0 bottom-0 w-0.5 bg-terminal-amber scale-y-0 group-hover:scale-y-100 transition-transform duration-200 origin-top"></div></article></div><div style="opacity:0;transform:translateY(16px)"><article class="group relative border border-terminal-border hover:border-terminal-amber/40 bg-terminal-card transition-all duration-200 p-5 sm:p-6"><div class="flex items-start justify-between gap-4 mb-3"><div class="flex items-center gap-3"><span class="text-[10px] text-terminal-amber opacity-40 font-mono">[<!-- -->03<!-- -->]</span><h3 class="text-sm font-semibold text-terminal-text group-hover:text-white transition-colors">Jenkins CI/CD Pipeline</h3></div><div class="flex items-center gap-3 flex-shrink-0"><span class="text-[10px] tracking-widest text-terminal-amber"><!-- -->shipped</span><a href="https://github.com/emil28092005" target="_blank" rel="noreferrer" class="text-[10px] text-terminal-muted hover:text-terminal-amber transition-colors tracking-wider"></a></div></div><p class="text-[12px] text-terminal-muted leading-relaxed mb-4 pl-9">End-to-end automated pipeline — testing, Docker image builds, registry push, and zero-downtime rolling deployments on Linux servers.</p><div class="pl-9 flex flex-wrap gap-1.5"><span class="px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide">Jenkins</span><span class="px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide">Docker</span><span class="px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide">Bash</span><span class="px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide">Linux</span></div><div class="absolute left-0 top-0 bottom-0 w-0.5 bg-terminal-amber scale-y-0 group-hover:scale-y-100 transition-transform duration-200 origin-top"></div></article></div><div style="opacity:0;transform:translateY(16px)"><article class="group relative border border-terminal-border hover:border-terminal-amber/40 bg-terminal-card transition-all duration-200 p-5 sm:p-6"><div class="flex items-start justify-between gap-4 mb-3"><div class="flex items-center gap-3"><span class="text-[10px] text-terminal-amber opacity-40 font-mono">[<!-- -->04<!-- -->]</span><h3 class="text-sm font-semibold text-terminal-text group-hover:text-white transition-colors">LLM API Microservice</h3></div><div class="flex items-center gap-3 flex-shrink-0"><span class="text-[10px] tracking-widest text-terminal-muted"><!-- -->wip</span><a href="https://github.com/emil28092005" target="_blank" rel="noreferrer" class="text-[10px] text-terminal-muted hover:text-terminal-amber transition-colors tracking-wider"></a></div></div><p class="text-[12px] text-terminal-muted leading-relaxed mb-4 pl-9">Microservice integrating OpenAI and Claude APIs with async task queuing, per-user rate limiting, and response caching to minimize costs.</p><div class="pl-9 flex flex-wrap gap-1.5"><span class="px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide">Python</span><span class="px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide">FastAPI</span><span class="px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide">Redis</span><span class="px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide">OpenAI API</span><span class="px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide">Claude API</span></div><div class="absolute left-0 top-0 bottom-0 w-0.5 bg-terminal-amber scale-y-0 group-hover:scale-y-100 transition-transform duration-200 origin-top"></div></article></div></div></section><section id="contact" class="pb-16"><div style="opacity:0;transform:translateY(16px)"><div class="flex items-center gap-4 mb-10"><span class="text-[10px] text-terminal-amber font-mono tracking-widest opacity-60">03</span><span class="text-[11px] text-terminal-muted font-mono tracking-[0.22em] uppercase">contact.sh</span><div class="flex-1 h-px bg-terminal-border"></div></div></div><div style="opacity:0;transform:translateY(16px)"><p class="text-[12px] text-terminal-muted mb-8 pl-1"><span class="text-terminal-amber">$</span><span class="ml-2">echo &quot;Open to DevOps and Backend opportunities.&quot;</span></p></div><div class="space-y-px"><div style="opacity:0;transform:translateY(16px)"><a href="https://github.com/emil28092005" target="_blank" rel="noreferrer" class="group flex items-center gap-0 border border-transparent hover:border-terminal-border bg-transparent hover:bg-terminal-card transition-all duration-150 px-4 py-3.5"><span class="w-24 text-[10px] text-terminal-muted tracking-widest uppercase flex-shrink-0">GitHub</span><span class="text-terminal-border mx-4 group-hover:text-terminal-amber transition-colors"></span><span class="text-[12px] text-terminal-muted group-hover:text-terminal-text transition-colors font-mono"><span class="text-terminal-subtle">github.com/</span><span class="group-hover:text-terminal-amber transition-colors">emil28092005</span></span></a></div><div style="opacity:0;transform:translateY(16px)"><a href="mailto:emil28092005@gmail.com" rel="noreferrer" class="group flex items-center gap-0 border border-transparent hover:border-terminal-border bg-transparent hover:bg-terminal-card transition-all duration-150 px-4 py-3.5"><span class="w-24 text-[10px] text-terminal-muted tracking-widest uppercase flex-shrink-0">Email</span><span class="text-terminal-border mx-4 group-hover:text-terminal-amber transition-colors"></span><span class="text-[12px] text-terminal-muted group-hover:text-terminal-text transition-colors font-mono"><span class="group-hover:text-terminal-amber transition-colors">emil28092005@gmail.com</span></span></a></div><div style="opacity:0;transform:translateY(16px)"><a href="https://t.me/emilshanaty" target="_blank" rel="noreferrer" class="group flex items-center gap-0 border border-transparent hover:border-terminal-border bg-transparent hover:bg-terminal-card transition-all duration-150 px-4 py-3.5"><span class="w-24 text-[10px] text-terminal-muted tracking-widest uppercase flex-shrink-0">Telegram</span><span class="text-terminal-border mx-4 group-hover:text-terminal-amber transition-colors"></span><span class="text-[12px] text-terminal-muted group-hover:text-terminal-text transition-colors font-mono"><span class="text-terminal-subtle">t.me/</span><span class="group-hover:text-terminal-amber transition-colors">@emilshanaty</span></span></a></div></div><div style="opacity:0;transform:translateY(16px)"><div class="mt-20 pt-8 border-t border-terminal-border flex flex-col sm:flex-row items-start sm:items-center justify-between gap-4"><span class="text-[10px] text-terminal-subtle tracking-widest">EMIL SHANAYEV · <!-- -->2026</span><span class="text-[10px] text-terminal-subtle opacity-50 tracking-wide">built with Next.js · deployed to GitHub Pages</span></div></div></section></main><script src="/Emil_Shanayev_Resume/_next/static/chunks/webpack-72935318457440c1.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/Emil_Shanayev_Resume/_next/static/css/0afa8c32af7966a4.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"2:I[2846,[],\"\"]\n4:I[1030,[\"965\",\"static/chunks/965-d6165d8907a90ac3.js\",\"931\",\"static/chunks/app/page-da9a3eb90e82b739.js\"],\"Nav\"]\n5:I[1991,[\"965\",\"static/chunks/965-d6165d8907a90ac3.js\",\"931\",\"static/chunks/app/page-da9a3eb90e82b739.js\"],\"TypingText\"]\n6:I[24,[\"965\",\"static/chunks/965-d6165d8907a90ac3.js\",\"931\",\"static/chunks/app/page-da9a3eb90e82b739.js\"],\"Reveal\"]\n7:I[4707,[],\"\"]\n8:I[6423,[],\"\"]\na:I[1060,[],\"\"]\nb:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L2\",null,{\"buildId\":\"VMBFRIfqH48aU3lH7sZip\",\"assetPrefix\":\"/Emil_Shanayev_Resume\",\"urlParts\":[\"\",\"\"],\"initialTree\":[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"__PAGE__\",{},[[\"$L3\",[[\"$\",\"$L4\",null,{}],[\"$\",\"main\",null,{\"className\":\"max-w-3xl mx-auto px-5 sm:px-8 pb-40\",\"children\":[[\"$\",\"section\",null,{\"className\":\"pt-16 pb-24 sm:pt-20 sm:pb-32\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-10 inline-flex items-center gap-2 text-[10px] text-terminal-muted tracking-widest\",\"children\":[[\"$\",\"span\",null,{\"className\":\"w-2.5 h-2.5 rounded-full bg-[#ff5f57]\"}],[\"$\",\"span\",null,{\"className\":\"w-2.5 h-2.5 rounded-full bg-[#febc2e]\"}],[\"$\",\"span\",null,{\"className\":\"w-2.5 h-2.5 rounded-full bg-[#28c840]\"}],[\"$\",\"span\",null,{\"className\":\"ml-3 opacity-40\",\"children\":\"portfolio.sh\"}]]}],[\"$\",\"p\",null,{\"className\":\"text-[11px] text-terminal-muted mb-8 tracking-wide\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-terminal-amber\",\"children\":\"visitor\"}],[\"$\",\"span\",null,{\"className\":\"opacity-40\",\"children\":\"@portfolio\"}],[\"$\",\"span\",null,{\"className\":\"opacity-40\",\"children\":\":~$\"}],[\"$\",\"span\",null,{\"className\":\"ml-2 text-terminal-text\",\"children\":\"cat whoami.txt\"}]]}],[\"$\",\"h1\",null,{\"className\":\"text-4xl sm:text-5xl md:text-6xl font-bold text-terminal-text tracking-tight leading-none mb-5\",\"children\":\"Emil Shanayev\"}],[\"$\",\"p\",null,{\"className\":\"text-base sm:text-lg text-terminal-muted mb-10 h-7\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-terminal-amber opacity-60 mr-2\",\"children\":\"\u003e\"}],[\"$\",\"$L5\",null,{\"phrases\":[\"DevOps Engineer\",\"Backend Developer\",\"Infrastructure Nerd\"],\"speed\":80,\"deleteSpeed\":40,\"pauseDuration\":2000}]]}],[\"$\",\"p\",null,{\"className\":\"text-sm text-terminal-muted leading-relaxed max-w-2xl mb-10 border-l-2 border-terminal-border pl-4\",\"children\":\"Building reliable systems from first principles. Specializing in Python/FastAPI, container orchestration, and Linux infrastructure. Student at Innopolis University (DSAI program).\"}],[\"$\",\"div\",null,{\"className\":\"mb-12 flex items-start gap-2 text-[11px]\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-terminal-amber opacity-50 mt-0.5\",\"children\":\"◆\"}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"span\",null,{\"className\":\"text-terminal-text\",\"children\":\"Innopolis University\"}],[\"$\",\"span\",null,{\"className\":\"text-terminal-muted mx-2\",\"children\":\"·\"}],[\"$\",\"span\",null,{\"className\":\"text-terminal-muted\",\"children\":\"student\"}]]}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-wrap gap-3\",\"children\":[[\"$\",\"a\",\"GitHub\",{\"href\":\"https://github.com/emil28092005\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"className\":\"group inline-flex items-center gap-2 px-4 py-2 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber hover:text-terminal-text transition-all duration-200 tracking-wide\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-terminal-amber opacity-0 group-hover:opacity-100 transition-opacity\",\"children\":\"▸\"}],[\"$\",\"span\",null,{\"className\":\"uppercase tracking-widest text-[10px]\",\"children\":\"GitHub\"}],[\"$\",\"span\",null,{\"className\":\"opacity-40\",\"children\":\"/\"}],[\"$\",\"span\",null,{\"children\":\"emil28092005\"}]]}],[\"$\",\"a\",\"Email\",{\"href\":\"mailto:emil28092005@gmail.com\",\"target\":\"$undefined\",\"rel\":\"noreferrer\",\"className\":\"group inline-flex items-center gap-2 px-4 py-2 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber hover:text-terminal-text transition-all duration-200 tracking-wide\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-terminal-amber opacity-0 group-hover:opacity-100 transition-opacity\",\"children\":\"▸\"}],[\"$\",\"span\",null,{\"className\":\"uppercase tracking-widest text-[10px]\",\"children\":\"Email\"}],[\"$\",\"span\",null,{\"className\":\"opacity-40\",\"children\":\"/\"}],[\"$\",\"span\",null,{\"children\":\"emil28092005@gmail.com\"}]]}],[\"$\",\"a\",\"Telegram\",{\"href\":\"https://t.me/emilshanaty\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"className\":\"group inline-flex items-center gap-2 px-4 py-2 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber hover:text-terminal-text transition-all duration-200 tracking-wide\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-terminal-amber opacity-0 group-hover:opacity-100 transition-opacity\",\"children\":\"▸\"}],[\"$\",\"span\",null,{\"className\":\"uppercase tracking-widest text-[10px]\",\"children\":\"Telegram\"}],[\"$\",\"span\",null,{\"className\":\"opacity-40\",\"children\":\"/\"}],[\"$\",\"span\",null,{\"children\":\"@emilshanaty\"}]]}]]}],[\"$\",\"div\",null,{\"className\":\"mt-16 h-px w-full bg-gradient-to-r from-terminal-amber/20 via-terminal-border to-transparent\"}]]}],[\"$\",\"section\",null,{\"id\":\"skills\",\"className\":\"pb-24\",\"children\":[[\"$\",\"$L6\",null,{\"children\":[\"$\",\"div\",null,{\"id\":\"skills\",\"className\":\"flex items-center gap-4 mb-10\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[10px] text-terminal-amber font-mono tracking-widest opacity-60\",\"children\":\"01\"}],[\"$\",\"span\",null,{\"className\":\"text-[11px] text-terminal-muted font-mono tracking-[0.22em] uppercase\",\"children\":\"skills.list\"}],[\"$\",\"div\",null,{\"className\":\"flex-1 h-px bg-terminal-border\"}]]}]}],[\"$\",\"div\",null,{\"className\":\"space-y-0\",\"children\":[[\"$\",\"$L6\",\"SYSTEM\",{\"delay\":0,\"children\":[\"$\",\"div\",null,{\"className\":\"group flex flex-col sm:flex-row sm:items-start gap-3 sm:gap-0 py-3.5 border-b border-terminal-border/50 hover:border-terminal-border transition-colors\",\"children\":[[\"$\",\"div\",null,{\"className\":\"sm:w-36 flex-shrink-0 flex items-center gap-2\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[9px] text-terminal-amber opacity-40 w-3 text-right\",\"children\":\"01\"}],[\"$\",\"span\",null,{\"className\":\"text-[10px] text-terminal-muted tracking-[0.18em] uppercase pl-2\",\"children\":\"SYSTEM\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-wrap gap-2 sm:pl-4\",\"children\":[[\"$\",\"span\",\"Linux\",{\"className\":\"px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default\",\"children\":\"Linux\"}],[\"$\",\"span\",\"Bash\",{\"className\":\"px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default\",\"children\":\"Bash\"}],[\"$\",\"span\",\"SSH\",{\"className\":\"px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default\",\"children\":\"SSH\"}],[\"$\",\"span\",\"Nginx\",{\"className\":\"px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default\",\"children\":\"Nginx\"}],[\"$\",\"span\",\"systemd\",{\"className\":\"px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default\",\"children\":\"systemd\"}],[\"$\",\"span\",\"Vim\",{\"className\":\"px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default\",\"children\":\"Vim\"}]]}]]}]}],[\"$\",\"$L6\",\"LANGUAGES\",{\"delay\":0.04,\"children\":[\"$\",\"div\",null,{\"className\":\"group flex flex-col sm:flex-row sm:items-start gap-3 sm:gap-0 py-3.5 border-b border-terminal-border/50 hover:border-terminal-border transition-colors\",\"children\":[[\"$\",\"div\",null,{\"className\":\"sm:w-36 flex-shrink-0 flex items-center gap-2\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[9px] text-terminal-amber opacity-40 w-3 text-right\",\"children\":\"02\"}],[\"$\",\"span\",null,{\"className\":\"text-[10px] text-terminal-muted tracking-[0.18em] uppercase pl-2\",\"children\":\"LANGUAGES\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-wrap gap-2 sm:pl-4\",\"children\":[[\"$\",\"span\",\"Python\",{\"className\":\"px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default\",\"children\":\"Python\"}],[\"$\",\"span\",\"Go\",{\"className\":\"px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default\",\"children\":\"Go\"}],[\"$\",\"span\",\"TypeScript\",{\"className\":\"px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default\",\"children\":\"TypeScript\"}],[\"$\",\"span\",\"JavaScript\",{\"className\":\"px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default\",\"children\":\"JavaScript\"}],[\"$\",\"span\",\"Java\",{\"className\":\"px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default\",\"children\":\"Java\"}],[\"$\",\"span\",\"C#\",{\"className\":\"px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default\",\"children\":\"C#\"}]]}]]}]}],[\"$\",\"$L6\",\"BACKEND\",{\"delay\":0.08,\"children\":[\"$\",\"div\",null,{\"className\":\"group flex flex-col sm:flex-row sm:items-start gap-3 sm:gap-0 py-3.5 border-b border-terminal-border/50 hover:border-terminal-border transition-colors\",\"children\":[[\"$\",\"div\",null,{\"className\":\"sm:w-36 flex-shrink-0 flex items-center gap-2\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[9px] text-terminal-amber opacity-40 w-3 text-right\",\"children\":\"03\"}],[\"$\",\"span\",null,{\"className\":\"text-[10px] text-terminal-muted tracking-[0.18em] uppercase pl-2\",\"children\":\"BACKEND\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-wrap gap-2 sm:pl-4\",\"children\":[[\"$\",\"span\",\"FastAPI\",{\"className\":\"px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default\",\"children\":\"FastAPI\"}],[\"$\",\"span\",\"asyncio\",{\"className\":\"px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default\",\"children\":\"asyncio\"}],[\"$\",\"span\",\"PostgreSQL\",{\"className\":\"px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default\",\"children\":\"PostgreSQL\"}],[\"$\",\"span\",\"Redis\",{\"className\":\"px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default\",\"children\":\"Redis\"}],[\"$\",\"span\",\"SQLite\",{\"className\":\"px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default\",\"children\":\"SQLite\"}]]}]]}]}],[\"$\",\"$L6\",\"CONTAINERS\",{\"delay\":0.12,\"children\":[\"$\",\"div\",null,{\"className\":\"group flex flex-col sm:flex-row sm:items-start gap-3 sm:gap-0 py-3.5 border-b border-terminal-border/50 hover:border-terminal-border transition-colors\",\"children\":[[\"$\",\"div\",null,{\"className\":\"sm:w-36 flex-shrink-0 flex items-center gap-2\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[9px] text-terminal-amber opacity-40 w-3 text-right\",\"children\":\"04\"}],[\"$\",\"span\",null,{\"className\":\"text-[10px] text-terminal-muted tracking-[0.18em] uppercase pl-2\",\"children\":\"CONTAINERS\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-wrap gap-2 sm:pl-4\",\"children\":[[\"$\",\"span\",\"Docker\",{\"className\":\"px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default\",\"children\":\"Docker\"}],[\"$\",\"span\",\"Compose\",{\"className\":\"px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default\",\"children\":\"Compose\"}],[\"$\",\"span\",\"Kubernetes\",{\"className\":\"px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default\",\"children\":\"Kubernetes\"}],[\"$\",\"span\",\"Helm\",{\"className\":\"px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default\",\"children\":\"Helm\"}],[\"$\",\"span\",\"Harbor\",{\"className\":\"px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default\",\"children\":\"Harbor\"}]]}]]}]}],[\"$\",\"$L6\",\"CI / CD\",{\"delay\":0.16,\"children\":[\"$\",\"div\",null,{\"className\":\"group flex flex-col sm:flex-row sm:items-start gap-3 sm:gap-0 py-3.5 border-b border-terminal-border/50 hover:border-terminal-border transition-colors\",\"children\":[[\"$\",\"div\",null,{\"className\":\"sm:w-36 flex-shrink-0 flex items-center gap-2\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[9px] text-terminal-amber opacity-40 w-3 text-right\",\"children\":\"05\"}],[\"$\",\"span\",null,{\"className\":\"text-[10px] text-terminal-muted tracking-[0.18em] uppercase pl-2\",\"children\":\"CI / CD\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-wrap gap-2 sm:pl-4\",\"children\":[[\"$\",\"span\",\"GitHub Actions\",{\"className\":\"px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default\",\"children\":\"GitHub Actions\"}],[\"$\",\"span\",\"Jenkins\",{\"className\":\"px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default\",\"children\":\"Jenkins\"}],[\"$\",\"span\",\"GitLab CI\",{\"className\":\"px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default\",\"children\":\"GitLab CI\"}]]}]]}]}],[\"$\",\"$L6\",\"CLOUD\",{\"delay\":0.2,\"children\":[\"$\",\"div\",null,{\"className\":\"group flex flex-col sm:flex-row sm:items-start gap-3 sm:gap-0 py-3.5 border-b border-terminal-border/50 hover:border-terminal-border transition-colors\",\"children\":[[\"$\",\"div\",null,{\"className\":\"sm:w-36 flex-shrink-0 flex items-center gap-2\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[9px] text-terminal-amber opacity-40 w-3 text-right\",\"children\":\"06\"}],[\"$\",\"span\",null,{\"className\":\"text-[10px] text-terminal-muted tracking-[0.18em] uppercase pl-2\",\"children\":\"CLOUD\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-wrap gap-2 sm:pl-4\",\"children\":[[\"$\",\"span\",\"Yandex Cloud\",{\"className\":\"px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default\",\"children\":\"Yandex Cloud\"}],[\"$\",\"span\",\"VPS\",{\"className\":\"px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default\",\"children\":\"VPS\"}],[\"$\",\"span\",\"Server Admin\",{\"className\":\"px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default\",\"children\":\"Server Admin\"}]]}]]}]}],[\"$\",\"$L6\",\"AI / LLM\",{\"delay\":0.24,\"children\":[\"$\",\"div\",null,{\"className\":\"group flex flex-col sm:flex-row sm:items-start gap-3 sm:gap-0 py-3.5 border-b border-terminal-border/50 hover:border-terminal-border transition-colors\",\"children\":[[\"$\",\"div\",null,{\"className\":\"sm:w-36 flex-shrink-0 flex items-center gap-2\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[9px] text-terminal-amber opacity-40 w-3 text-right\",\"children\":\"07\"}],[\"$\",\"span\",null,{\"className\":\"text-[10px] text-terminal-muted tracking-[0.18em] uppercase pl-2\",\"children\":\"AI / LLM\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-wrap gap-2 sm:pl-4\",\"children\":[[\"$\",\"span\",\"OpenAI API\",{\"className\":\"px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default\",\"children\":\"OpenAI API\"}],[\"$\",\"span\",\"Claude API\",{\"className\":\"px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default\",\"children\":\"Claude API\"}],[\"$\",\"span\",\"LangChain\",{\"className\":\"px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default\",\"children\":\"LangChain\"}],[\"$\",\"span\",\"Perplexity\",{\"className\":\"px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default\",\"children\":\"Perplexity\"}]]}]]}]}],[\"$\",\"$L6\",\"TOOLING\",{\"delay\":0.28,\"children\":[\"$\",\"div\",null,{\"className\":\"group flex flex-col sm:flex-row sm:items-start gap-3 sm:gap-0 py-3.5 border-b border-terminal-border/50 hover:border-terminal-border transition-colors\",\"children\":[[\"$\",\"div\",null,{\"className\":\"sm:w-36 flex-shrink-0 flex items-center gap-2\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[9px] text-terminal-amber opacity-40 w-3 text-right\",\"children\":\"08\"}],[\"$\",\"span\",null,{\"className\":\"text-[10px] text-terminal-muted tracking-[0.18em] uppercase pl-2\",\"children\":\"TOOLING\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-wrap gap-2 sm:pl-4\",\"children\":[[\"$\",\"span\",\"Git\",{\"className\":\"px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default\",\"children\":\"Git\"}],[\"$\",\"span\",\"Agile\",{\"className\":\"px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default\",\"children\":\"Agile\"}],[\"$\",\"span\",\"Scrum\",{\"className\":\"px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default\",\"children\":\"Scrum\"}],[\"$\",\"span\",\"Jira\",{\"className\":\"px-2.5 py-0.5 text-[11px] text-terminal-muted border border-terminal-border hover:border-terminal-amber/50 hover:text-terminal-text transition-all duration-150 cursor-default\",\"children\":\"Jira\"}]]}]]}]}]]}]]}],[\"$\",\"section\",null,{\"id\":\"projects\",\"className\":\"pb-24\",\"children\":[[\"$\",\"$L6\",null,{\"children\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"className\":\"flex items-center gap-4 mb-10\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[10px] text-terminal-amber font-mono tracking-widest opacity-60\",\"children\":\"02\"}],[\"$\",\"span\",null,{\"className\":\"text-[11px] text-terminal-muted font-mono tracking-[0.22em] uppercase\",\"children\":\"projects.log\"}],[\"$\",\"div\",null,{\"className\":\"flex-1 h-px bg-terminal-border\"}]]}]}],[\"$\",\"div\",null,{\"className\":\"space-y-4\",\"children\":[[\"$\",\"$L6\",\"01\",{\"delay\":0,\"children\":[\"$\",\"article\",null,{\"className\":\"group relative border border-terminal-border hover:border-terminal-amber/40 bg-terminal-card transition-all duration-200 p-5 sm:p-6\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-start justify-between gap-4 mb-3\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-3\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[10px] text-terminal-amber opacity-40 font-mono\",\"children\":[\"[\",\"01\",\"]\"]}],[\"$\",\"h3\",null,{\"className\":\"text-sm font-semibold text-terminal-text group-hover:text-white transition-colors\",\"children\":\"FastAPI Async Platform\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex items-center gap-3 flex-shrink-0\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[10px] tracking-widest text-terminal-green\",\"children\":[\"● \",\"deployed\"]}],[\"$\",\"a\",null,{\"href\":\"https://github.com/emil28092005\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"className\":\"text-[10px] text-terminal-muted hover:text-terminal-amber transition-colors tracking-wider\",\"children\":\"↗\"}]]}]]}],[\"$\",\"p\",null,{\"className\":\"text-[12px] text-terminal-muted leading-relaxed mb-4 pl-9\",\"children\":\"High-performance async REST API built with FastAPI and PostgreSQL. Features Redis caching, Docker containerization, and Nginx reverse proxy on a Linux VPS.\"}],[\"$\",\"div\",null,{\"className\":\"pl-9 flex flex-wrap gap-1.5\",\"children\":[[\"$\",\"span\",\"Python\",{\"className\":\"px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide\",\"children\":\"Python\"}],[\"$\",\"span\",\"FastAPI\",{\"className\":\"px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide\",\"children\":\"FastAPI\"}],[\"$\",\"span\",\"PostgreSQL\",{\"className\":\"px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide\",\"children\":\"PostgreSQL\"}],[\"$\",\"span\",\"Redis\",{\"className\":\"px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide\",\"children\":\"Redis\"}],[\"$\",\"span\",\"Docker\",{\"className\":\"px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide\",\"children\":\"Docker\"}],[\"$\",\"span\",\"Nginx\",{\"className\":\"px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide\",\"children\":\"Nginx\"}]]}],[\"$\",\"div\",null,{\"className\":\"absolute left-0 top-0 bottom-0 w-0.5 bg-terminal-amber scale-y-0 group-hover:scale-y-100 transition-transform duration-200 origin-top\"}]]}]}],[\"$\",\"$L6\",\"02\",{\"delay\":0.07,\"children\":[\"$\",\"article\",null,{\"className\":\"group relative border border-terminal-border hover:border-terminal-amber/40 bg-terminal-card transition-all duration-200 p-5 sm:p-6\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-start justify-between gap-4 mb-3\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-3\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[10px] text-terminal-amber opacity-40 font-mono\",\"children\":[\"[\",\"02\",\"]\"]}],[\"$\",\"h3\",null,{\"className\":\"text-sm font-semibold text-terminal-text group-hover:text-white transition-colors\",\"children\":\"K8s Infrastructure\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex items-center gap-3 flex-shrink-0\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[10px] tracking-widest text-terminal-green\",\"children\":[\"● \",\"deployed\"]}],[\"$\",\"a\",null,{\"href\":\"https://github.com/emil28092005\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"className\":\"text-[10px] text-terminal-muted hover:text-terminal-amber transition-colors tracking-wider\",\"children\":\"↗\"}]]}]]}],[\"$\",\"p\",null,{\"className\":\"text-[12px] text-terminal-muted leading-relaxed mb-4 pl-9\",\"children\":\"Production-grade Kubernetes cluster with Helm chart management, Harbor private container registry, and full CI/CD automation via GitHub Actions.\"}],[\"$\",\"div\",null,{\"className\":\"pl-9 flex flex-wrap gap-1.5\",\"children\":[[\"$\",\"span\",\"Kubernetes\",{\"className\":\"px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide\",\"children\":\"Kubernetes\"}],[\"$\",\"span\",\"Helm\",{\"className\":\"px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide\",\"children\":\"Helm\"}],[\"$\",\"span\",\"Harbor\",{\"className\":\"px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide\",\"children\":\"Harbor\"}],[\"$\",\"span\",\"GitHub Actions\",{\"className\":\"px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide\",\"children\":\"GitHub Actions\"}],[\"$\",\"span\",\"Docker\",{\"className\":\"px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide\",\"children\":\"Docker\"}]]}],[\"$\",\"div\",null,{\"className\":\"absolute left-0 top-0 bottom-0 w-0.5 bg-terminal-amber scale-y-0 group-hover:scale-y-100 transition-transform duration-200 origin-top\"}]]}]}],[\"$\",\"$L6\",\"03\",{\"delay\":0.14,\"children\":[\"$\",\"article\",null,{\"className\":\"group relative border border-terminal-border hover:border-terminal-amber/40 bg-terminal-card transition-all duration-200 p-5 sm:p-6\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-start justify-between gap-4 mb-3\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-3\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[10px] text-terminal-amber opacity-40 font-mono\",\"children\":[\"[\",\"03\",\"]\"]}],[\"$\",\"h3\",null,{\"className\":\"text-sm font-semibold text-terminal-text group-hover:text-white transition-colors\",\"children\":\"Jenkins CI/CD Pipeline\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex items-center gap-3 flex-shrink-0\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[10px] tracking-widest text-terminal-amber\",\"children\":[\"● \",\"shipped\"]}],[\"$\",\"a\",null,{\"href\":\"https://github.com/emil28092005\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"className\":\"text-[10px] text-terminal-muted hover:text-terminal-amber transition-colors tracking-wider\",\"children\":\"↗\"}]]}]]}],[\"$\",\"p\",null,{\"className\":\"text-[12px] text-terminal-muted leading-relaxed mb-4 pl-9\",\"children\":\"End-to-end automated pipeline — testing, Docker image builds, registry push, and zero-downtime rolling deployments on Linux servers.\"}],[\"$\",\"div\",null,{\"className\":\"pl-9 flex flex-wrap gap-1.5\",\"children\":[[\"$\",\"span\",\"Jenkins\",{\"className\":\"px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide\",\"children\":\"Jenkins\"}],[\"$\",\"span\",\"Docker\",{\"className\":\"px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide\",\"children\":\"Docker\"}],[\"$\",\"span\",\"Bash\",{\"className\":\"px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide\",\"children\":\"Bash\"}],[\"$\",\"span\",\"Linux\",{\"className\":\"px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide\",\"children\":\"Linux\"}]]}],[\"$\",\"div\",null,{\"className\":\"absolute left-0 top-0 bottom-0 w-0.5 bg-terminal-amber scale-y-0 group-hover:scale-y-100 transition-transform duration-200 origin-top\"}]]}]}],[\"$\",\"$L6\",\"04\",{\"delay\":0.21000000000000002,\"children\":[\"$\",\"article\",null,{\"className\":\"group relative border border-terminal-border hover:border-terminal-amber/40 bg-terminal-card transition-all duration-200 p-5 sm:p-6\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-start justify-between gap-4 mb-3\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-3\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[10px] text-terminal-amber opacity-40 font-mono\",\"children\":[\"[\",\"04\",\"]\"]}],[\"$\",\"h3\",null,{\"className\":\"text-sm font-semibold text-terminal-text group-hover:text-white transition-colors\",\"children\":\"LLM API Microservice\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex items-center gap-3 flex-shrink-0\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[10px] tracking-widest text-terminal-muted\",\"children\":[\"● \",\"wip\"]}],[\"$\",\"a\",null,{\"href\":\"https://github.com/emil28092005\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"className\":\"text-[10px] text-terminal-muted hover:text-terminal-amber transition-colors tracking-wider\",\"children\":\"↗\"}]]}]]}],[\"$\",\"p\",null,{\"className\":\"text-[12px] text-terminal-muted leading-relaxed mb-4 pl-9\",\"children\":\"Microservice integrating OpenAI and Claude APIs with async task queuing, per-user rate limiting, and response caching to minimize costs.\"}],[\"$\",\"div\",null,{\"className\":\"pl-9 flex flex-wrap gap-1.5\",\"children\":[[\"$\",\"span\",\"Python\",{\"className\":\"px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide\",\"children\":\"Python\"}],[\"$\",\"span\",\"FastAPI\",{\"className\":\"px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide\",\"children\":\"FastAPI\"}],[\"$\",\"span\",\"Redis\",{\"className\":\"px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide\",\"children\":\"Redis\"}],[\"$\",\"span\",\"OpenAI API\",{\"className\":\"px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide\",\"children\":\"OpenAI API\"}],[\"$\",\"span\",\"Claude API\",{\"className\":\"px-2 py-px text-[10px] text-terminal-subtle border border-terminal-border/60 tracking-wide\",\"children\":\"Claude API\"}]]}],[\"$\",\"div\",null,{\"className\":\"absolute left-0 top-0 bottom-0 w-0.5 bg-terminal-amber scale-y-0 group-hover:scale-y-100 transition-transform duration-200 origin-top\"}]]}]}]]}]]}],[\"$\",\"section\",null,{\"id\":\"contact\",\"className\":\"pb-16\",\"children\":[[\"$\",\"$L6\",null,{\"children\":[\"$\",\"div\",null,{\"id\":\"$undefined\",\"className\":\"flex items-center gap-4 mb-10\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[10px] text-terminal-amber font-mono tracking-widest opacity-60\",\"children\":\"03\"}],[\"$\",\"span\",null,{\"className\":\"text-[11px] text-terminal-muted font-mono tracking-[0.22em] uppercase\",\"children\":\"contact.sh\"}],[\"$\",\"div\",null,{\"className\":\"flex-1 h-px bg-terminal-border\"}]]}]}],[\"$\",\"$L6\",null,{\"delay\":0.05,\"children\":[\"$\",\"p\",null,{\"className\":\"text-[12px] text-terminal-muted mb-8 pl-1\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-terminal-amber\",\"children\":\"$$\"}],[\"$\",\"span\",null,{\"className\":\"ml-2\",\"children\":\"echo \\\"Open to DevOps and Backend opportunities.\\\"\"}]]}]}],[\"$\",\"div\",null,{\"className\":\"space-y-px\",\"children\":[[\"$\",\"$L6\",\"GitHub\",{\"delay\":0,\"children\":[\"$\",\"a\",null,{\"href\":\"https://github.com/emil28092005\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"className\":\"group flex items-center gap-0 border border-transparent hover:border-terminal-border bg-transparent hover:bg-terminal-card transition-all duration-150 px-4 py-3.5\",\"children\":[[\"$\",\"span\",null,{\"className\":\"w-24 text-[10px] text-terminal-muted tracking-widest uppercase flex-shrink-0\",\"children\":\"GitHub\"}],[\"$\",\"span\",null,{\"className\":\"text-terminal-border mx-4 group-hover:text-terminal-amber transition-colors\",\"children\":\"→\"}],[\"$\",\"span\",null,{\"className\":\"text-[12px] text-terminal-muted group-hover:text-terminal-text transition-colors font-mono\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-terminal-subtle\",\"children\":\"github.com/\"}],[\"$\",\"span\",null,{\"className\":\"group-hover:text-terminal-amber transition-colors\",\"children\":\"emil28092005\"}]]}]]}]}],[\"$\",\"$L6\",\"Email\",{\"delay\":0.06,\"children\":[\"$\",\"a\",null,{\"href\":\"mailto:emil28092005@gmail.com\",\"target\":\"$undefined\",\"rel\":\"noreferrer\",\"className\":\"group flex items-center gap-0 border border-transparent hover:border-terminal-border bg-transparent hover:bg-terminal-card transition-all duration-150 px-4 py-3.5\",\"children\":[[\"$\",\"span\",null,{\"className\":\"w-24 text-[10px] text-terminal-muted tracking-widest uppercase flex-shrink-0\",\"children\":\"Email\"}],[\"$\",\"span\",null,{\"className\":\"text-terminal-border mx-4 group-hover:text-terminal-amber transition-colors\",\"children\":\"→\"}],[\"$\",\"span\",null,{\"className\":\"text-[12px] text-terminal-muted group-hover:text-terminal-text transition-colors font-mono\",\"children\":[\"\",[\"$\",\"span\",null,{\"className\":\"group-hover:text-terminal-amber transition-colors\",\"children\":\"emil28092005@gmail.com\"}]]}]]}]}],[\"$\",\"$L6\",\"Telegram\",{\"delay\":0.12,\"children\":[\"$\",\"a\",null,{\"href\":\"https://t.me/emilshanaty\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"className\":\"group flex items-center gap-0 border border-transparent hover:border-terminal-border bg-transparent hover:bg-terminal-card transition-all duration-150 px-4 py-3.5\",\"children\":[[\"$\",\"span\",null,{\"className\":\"w-24 text-[10px] text-terminal-muted tracking-widest uppercase flex-shrink-0\",\"children\":\"Telegram\"}],[\"$\",\"span\",null,{\"className\":\"text-terminal-border mx-4 group-hover:text-terminal-amber transition-colors\",\"children\":\"→\"}],[\"$\",\"span\",null,{\"className\":\"text-[12px] text-terminal-muted group-hover:text-terminal-text transition-colors font-mono\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-terminal-subtle\",\"children\":\"t.me/\"}],[\"$\",\"span\",null,{\"className\":\"group-hover:text-terminal-amber transition-colors\",\"children\":\"@emilshanaty\"}]]}]]}]}]]}],[\"$\",\"$L6\",null,{\"delay\":0.25,\"children\":[\"$\",\"div\",null,{\"className\":\"mt-20 pt-8 border-t border-terminal-border flex flex-col sm:flex-row items-start sm:items-center justify-between gap-4\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[10px] text-terminal-subtle tracking-widest\",\"children\":[\"EMIL SHANAYEV · \",2026]}],[\"$\",\"span\",null,{\"className\":\"text-[10px] text-terminal-subtle opacity-50 tracking-wide\",\"children\":\"built with Next.js · deployed to GitHub Pages\"}]]}]}]]}]]}]],null],null],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/Emil_Shanayev_Resume/_next/static/css/0afa8c32af7966a4.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"link\",null,{\"rel\":\"preconnect\",\"href\":\"https://fonts.googleapis.com\"}],[\"$\",\"link\",null,{\"rel\":\"preconnect\",\"href\":\"https://fonts.gstatic.com\",\"crossOrigin\":\"anonymous\"}],[\"$\",\"link\",null,{\"href\":\"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;600;700\u0026display=swap\",\"rel\":\"stylesheet\"}]]}],[\"$\",\"body\",null,{\"className\":\"font-mono\",\"children\":[\"$\",\"$L7\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L8\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[null,\"$L9\"],\"globalErrorComponent\":\"$a\",\"missingSlots\":\"$Wb\"}]\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"Emil Shanayev — DevOps \u0026 Backend Engineer\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Portfolio of Emil Shanayev — DevOps Engineer and Backend Developer specializing in Python/FastAPI, Kubernetes, Docker, and Linux infrastructure.\"}],[\"$\",\"meta\",\"4\",{\"name\":\"author\",\"content\":\"Emil Shanayev\"}],[\"$\",\"meta\",\"5\",{\"name\":\"keywords\",\"content\":\"DevOps,Backend,Python,Go,Kubernetes,Docker,FastAPI\"}]]\n3:null\n"])</script></body></html>