diff --git a/homepages/xdfnx_files/index.html b/homepages/xdfnx_files/index.html index 2c79299..29a3706 100644 --- a/homepages/xdfnx_files/index.html +++ b/homepages/xdfnx_files/index.html @@ -5,9 +5,8 @@ - + - @@ -20,8 +19,8 @@ xdfnx — Senior Full Stack Engineer - - + + @@ -43,148 +42,125 @@ --bg-2:#0e0e16; --surface:#12121c; --surface-2:#171723; - --line:rgba(255,255,255,.07); - --line-2:rgba(255,255,255,.12); - --line-3:rgba(255,255,255,.18); --ink:#f4f3f1; --ink-dim:#aeb0bd; --ink-faint:#6f7080; + --line:rgba(255,255,255,.07); + --line-2:rgba(255,255,255,.12); + --line-3:rgba(255,255,255,.18); --accent:#c2a878; --accent-bright:#e7cf9b; --accent-dim:#7c6a47; --accent-glow:rgba(194,168,120,.5); --flame:#e07a4c; - --flame-dim:#a5522f; + --ok:#7fd1a3; + --info:#7aa2e6; --focus:#7aa2e6; --grad:linear-gradient(135deg,var(--accent) 0%,var(--flame) 100%); + --grad-soft:linear-gradient(135deg,rgba(194,168,120,.16),rgba(224,122,76,.10)); --ease:cubic-bezier(.2,.7,.2,1); --ease-out:cubic-bezier(.16,1,.3,1); } *{margin:0;padding:0;box-sizing:border-box} html{scroll-behavior:smooth} body{ - background:var(--bg); - color:var(--ink); + background:var(--bg);color:var(--ink); font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; - font-weight:300;line-height:1.6; + font-weight:300;line-height:1.6;letter-spacing:.01em; -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility; - overflow-x:hidden;letter-spacing:.01em; + overflow-x:hidden; background-image: radial-gradient(1200px 600px at 50% -200px,rgba(194,168,120,.10),transparent 60%), radial-gradient(900px 700px at 100% 30%,rgba(224,122,76,.06),transparent 60%); } ::selection{background:var(--accent);color:#15200a} - :focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:2px} a:focus-visible,button:focus-visible{outline-offset:4px} - .skip{ - position:absolute;left:50%;top:-60px;transform:translateX(-50%); - background:var(--accent);color:#15120a;padding:10px 18px;border-radius:0 0 6px 6px; - font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:600; - text-decoration:none;z-index:200;transition:top .25s var(--ease); - } + .skip{position:absolute;left:50%;top:-60px;transform:translateX(-50%);background:var(--accent);color:#15120a;padding:10px 18px;border-radius:0 0 6px 6px;font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:600;text-decoration:none;z-index:200;transition:top .25s var(--ease)} .skip:focus{top:0} - /* ---- atmosphere ---- */ - .grain{ - position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.04; - background-image:url("data:image/svg+xml;utf8,"); - } - .grid-bg{ - position:fixed;inset:0;z-index:0;pointer-events:none; - background-image: - linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px), - linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); - background-size:64px 64px; - mask-image:radial-gradient(ellipse 90% 70% at 50% 0%,#000 35%,transparent 85%); - -webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 0%,#000 35%,transparent 85%); - } - .glow{position:fixed;z-index:0;pointer-events:none;border-radius:50%;filter:blur(140px);opacity:.55;will-change:transform} - .glow.a{top:-220px;left:30%;width:760px;height:460px;background:radial-gradient(circle,rgba(194,168,120,.16),transparent 70%)} + /* atmosphere */ + .grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml;utf8,")} + .grid-bg{position:fixed;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse 90% 70% at 50% 0%,#000 35%,transparent 85%);-webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 0%,#000 35%,transparent 85%)} + .glow{position:fixed;z-index:0;pointer-events:none;border-radius:50%;filter:blur(140px);opacity:.5;will-change:transform} + .glow.a{top:-220px;left:25%;width:760px;height:460px;background:radial-gradient(circle,rgba(194,168,120,.16),transparent 70%)} .glow.b{top:55vh;right:-200px;width:560px;height:560px;background:radial-gradient(circle,rgba(224,122,76,.10),transparent 70%)} - /* ---- layout ---- */ .wrap{max-width:1200px;margin:0 auto;padding:0 28px;position:relative;z-index:2} section{position:relative;z-index:2} - /* ---- top bar ---- */ - header.bar{ - position:fixed;top:0;left:0;right:0;z-index:50; - backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2); - background:rgba(10,10,16,.72); - border-bottom:1px solid var(--line); - transition:transform .4s var(--ease); - } + /* top bar */ + header.bar{position:fixed;top:0;left:0;right:0;z-index:50;backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);background:rgba(10,10,16,.72);border-bottom:1px solid var(--line);transition:transform .4s var(--ease)} header.bar.hidden{transform:translateY(-100%)} .bar-inner{display:flex;align-items:center;justify-content:space-between;height:64px;max-width:1200px;margin:0 auto;padding:0 28px} - .brand{font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:700;letter-spacing:.02em;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:8px} + .brand{font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:700;letter-spacing:.02em;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:9px} .brand .dot{width:9px;height:9px;border-radius:50%;background:var(--grad);box-shadow:0 0 14px var(--accent-glow)} .nav-links{display:flex;gap:28px;align-items:center} .nav-links a{color:var(--ink-dim);text-decoration:none;font-size:13px;font-family:'JetBrains Mono',monospace;transition:color .25s var(--ease);position:relative;padding:6px 0} .nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)} .nav-links a:hover,.nav-links a.active{color:var(--ink)} .nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1)} - .nav-cta{color:var(--accent)!important} - .nav-cta::after{background:var(--accent)} - .menu-btn{display:none;background:none;border:1px solid var(--line-2);color:var(--ink);padding:8px 12px;font-family:'JetBrains Mono',monospace;font-size:12px;cursor:pointer;border-radius:3px;transition:border-color .25s var(--ease),color .25s var(--ease)} + .nav-cta{color:var(--accent)!important}.nav-cta::after{background:var(--accent)} + .menu-btn{display:none;background:none;border:1px solid var(--line-2);color:var(--ink);padding:8px 12px;font-family:'JetBrains Mono',monospace;font-size:12px;cursor:pointer;border-radius:4px;transition:border-color .25s,color .25s} .menu-btn:hover{border-color:var(--accent);color:var(--accent)} /* ---- hero ---- */ - .hero{min-height:100svh;display:flex;align-items:center;padding:140px 0 90px} - .hero-grid{display:grid;grid-template-columns:1fr;gap:36px;max-width:920px} + .hero{min-height:100svh;display:flex;align-items:center;padding:140px 0 80px} + .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center} + .hero-left{display:flex;flex-direction:column;gap:30px;max-width:560px} .eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);width:fit-content} .pulse{width:8px;height:8px;border-radius:50%;background:var(--grad);position:relative;box-shadow:0 0 0 0 var(--accent-glow)} .pulse::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid var(--accent);opacity:.6;animation:ping 2.4s var(--ease) infinite} .status-pill{border:1px solid var(--line-2);padding:5px 12px;border-radius:999px;color:var(--ink);background:rgba(255,255,255,.02)} .status-pill b{color:var(--accent);font-weight:600} - @media (prefers-reduced-motion: no-preference){@keyframes ping{0%{transform:scale(.7);opacity:.7}70%{transform:scale(1.7);opacity:0}100%{opacity:0}}} + @media (prefers-reduced-motion:no-preference){@keyframes ping{0%{transform:scale(.7);opacity:.7}70%{transform:scale(1.7);opacity:0}100%{opacity:0}}} - h1.hero-title{ - font-size:clamp(48px,9vw,116px);line-height:.95;font-weight:800; - letter-spacing:-.04em;color:var(--ink); - } + h1.hero-title{font-size:clamp(40px,5.8vw,78px);line-height:.98;font-weight:800;letter-spacing:-.035em;color:var(--ink)} h1.hero-title .soft{color:var(--ink-faint);font-weight:300;font-style:italic} h1.hero-title .accent{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--accent)} - .term-cursor{display:inline-block;width:14px;height:.88em;background:var(--accent);margin-left:4px;vertical-align:-.05em;animation:blink 1s steps(2) infinite;border-radius:1px} - @media (prefers-reduced-motion: no-preference){@keyframes blink{50%{opacity:0}}} - .hero-sub{font-size:clamp(17px,2.1vw,21px);color:var(--ink-dim);max-width:640px;font-weight:300} + .hero-sub{font-size:clamp(16px,1.8vw,19px);color:var(--ink-dim);font-weight:300} .hero-sub b{color:var(--ink);font-weight:500} .hero-sub .hl{color:var(--accent)} - .cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px} - .btn{ - display:inline-flex;align-items:center;gap:10px;min-height:48px; - padding:14px 26px;border-radius:4px;text-decoration:none;font-size:14px;font-weight:600; - font-family:'JetBrains Mono',monospace;letter-spacing:.04em; - transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out),background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease); - cursor:pointer;border:1px solid transparent;position:relative; - } - .btn.primary{background:var(--grad);color:#1a1408;border-color:transparent;background-size:200% 100%;background-position:0 0} + .cta-row{display:flex;gap:14px;flex-wrap:wrap} + .btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:14px 24px;border-radius:5px;text-decoration:none;font-size:14px;font-weight:600;font-family:'JetBrains Mono',monospace;letter-spacing:.04em;transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out),background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease);cursor:pointer;border:1px solid transparent;position:relative} + .btn.primary{background:var(--grad);color:#1a1408;background-size:200% 100%;background-position:0 0} .btn.primary:hover{transform:translateY(-3px);box-shadow:0 16px 40px -12px var(--accent-glow);background-position:100% 0} .btn.ghost{color:var(--ink);border-color:var(--line-2);background:rgba(255,255,255,.02)} .btn.ghost:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-3px)} .btn .arr{transition:transform .3s var(--ease)} .btn:hover .arr{transform:translateX(5px)} - .hero-meta{display:flex;gap:42px;margin-top:22px;flex-wrap:wrap} + .hero-meta{display:flex;gap:36px;flex-wrap:wrap} .hero-meta div{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--ink-faint);letter-spacing:.06em} .hero-meta b{color:var(--ink-dim);font-weight:500} - /* hero terminal panel */ - .hero-term{margin-top:8px;border:1px solid var(--line-2);background:linear-gradient(180deg,rgba(18,18,28,.9),rgba(10,10,16,.9));border-radius:8px;overflow:hidden;max-width:560px;box-shadow:0 24px 60px -30px rgba(0,0,0,.8)} - .ht-bar{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.02)} - .ht-dot{width:10px;height:10px;border-radius:50%} - .ht-dot.r{background:#ff5f57}.ht-dot.y{background:#febc2e}.ht-dot.g{background:#28c840} - .ht-title{margin-left:8px;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-faint);letter-spacing:.06em} - .ht-body{padding:18px 18px 22px;font-family:'JetBrains Mono',monospace;font-size:13px;line-height:1.7;min-height:160px;color:var(--ink-dim)} - .ht-body .cmt{color:var(--ink-faint)} - .ht-body .k{color:#e7cf9b} - .ht-body .v{color:#9bb7e6} - .ht-body .ok{color:#7fd1a3} - .ht-line .prompt{color:var(--accent)} - .term-cursor2{display:inline-block;width:8px;height:1em;background:var(--accent);vertical-align:-.12em;border-radius:1px;animation:blink 1.1s steps(2) infinite} + /* ---- hero viz: live system monitor ---- */ + .monitor{position:relative;border:1px solid var(--line-2);border-radius:10px;overflow:hidden;background:linear-gradient(180deg,rgba(18,18,28,.92),rgba(10,10,16,.92));box-shadow:0 30px 70px -40px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.04)} + .mon-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.025)} + .mon-dots{display:flex;gap:7px} + .mon-dot{width:10px;height:10px;border-radius:50%} + .mon-dot.r{background:#ff5f57}.mon-dot.y{background:#febc2e}.mon-dot.g{background:#28c840} + .mon-status{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center;gap:8px} + .mon-status .live{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 10px var(--ok);animation:livepulse 1.6s ease-in-out infinite} + @media (prefers-reduced-motion:no-preference){@keyframes livepulse{0%,100%{opacity:1}50%{opacity:.35}}} + .mon-body{padding:18px 16px 16px;display:grid;gap:14px} + + .mon-row{display:grid;gap:6px} + .mon-row .lbl{display:flex;justify-content:space-between;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-dim);letter-spacing:.06em} + .mon-row .lbl b{color:var(--accent);font-weight:600} + .mon-track{height:6px;border-radius:3px;background:rgba(255,255,255,.06);overflow:hidden;position:relative} + .mon-fill{height:100%;border-radius:3px;background:var(--grad);transform-origin:left;transform:scaleX(0);width:100%;transition:transform .9s var(--ease-out)} + .mon-row.in .mon-fill{transform:scaleX(.0)} + + .mon-chart{height:120px;position:relative;border:1px solid var(--line);border-radius:6px;background:linear-gradient(180deg,rgba(255,255,255,.02),transparent);overflow:hidden} + .mon-chart svg{display:block;width:100%;height:100%} + .mon-chart .lab{position:absolute;top:8px;left:10px;font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase} + .mon-chart .lab b{color:var(--ok);font-weight:600} + .mon-chart .pct{position:absolute;bottom:8px;right:10px;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-dim)} + .mon-chart .pct b{color:var(--accent);font-weight:600} /* ---- section heading ---- */ .sec{padding:120px 0;border-top:1px solid var(--line)} @@ -192,132 +168,118 @@ .sec-id{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--accent);letter-spacing:.1em;font-weight:500} .sec-title{font-size:clamp(30px,4.2vw,46px);font-weight:700;letter-spacing:-.025em} .sec-rule{flex:1;height:1px;background:linear-gradient(90deg,var(--line-2),transparent)} + .sec-sub{color:var(--ink-dim);font-size:16px;max-width:620px;margin-top:14px;font-weight:300} - /* ---- about ---- */ - .about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:start} - .about-lead{font-size:clamp(21px,2.5vw,28px);line-height:1.42;font-weight:300;color:var(--ink);letter-spacing:-.01em} + /* ---- about: lead + what I do trio (replaces variant scratchpad) ---- */ + .about-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:60px;align-items:start} + .about-lead{font-size:clamp(20px,2.4vw,27px);line-height:1.4;font-weight:300;color:var(--ink);letter-spacing:-.01em} .about-lead .hl{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--accent)} - .about-body{color:var(--ink-dim);font-size:15px;line-height:1.85;margin-top:24px;max-width:560px} - .variant-note{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-faint);letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px} - .variants{display:flex;flex-direction:column;gap:18px} - .variant{border:1px solid var(--line);background:linear-gradient(180deg,var(--surface),var(--bg-2));padding:22px 24px;border-radius:6px;position:relative;overflow:hidden;transition:border-color .35s var(--ease),transform .35s var(--ease-out)} - .variant:hover{border-color:var(--line-3);transform:translateX(6px)} - .variant::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--grad);transform:scaleY(0);transform-origin:top;transition:transform .35s var(--ease-out)} - .variant:hover::before{transform:scaleY(1)} - .variant p{color:var(--ink-dim);font-size:14px;line-height:1.7} - .variant .tag{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;display:block;font-weight:600} + .about-body{color:var(--ink-dim);font-size:15px;line-height:1.85;margin-top:22px;max-width:520px} - /* ---- stats ---- */ - .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden} - .stat{background:var(--bg);padding:44px 30px;position:relative;overflow:hidden;transition:background .4s var(--ease)} + .do-trio{display:flex;flex-direction:column;gap:14px} + .do-card{display:grid;grid-template-columns:48px 1fr;gap:18px;padding:22px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,var(--surface),var(--bg-2));transition:border-color .35s var(--ease),transform .35s var(--ease-out)} + .do-card:hover{border-color:var(--line-3);transform:translateX(6px)} + .do-ico{width:42px;height:42px;border-radius:8px;background:var(--grad-soft);border:1px solid var(--line-2);display:grid;place-items:center;font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:700;color:var(--accent)} + .do-card h3{font-size:16px;font-weight:700;letter-spacing:-.01em} + .do-card p{color:var(--ink-dim);font-size:13.5px;line-height:1.65;margin-top:6px} + + /* ---- stats (grounded) ---- */ + .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden} + .stat{background:var(--bg);padding:40px 28px;position:relative;overflow:hidden;transition:background .4s var(--ease)} .stat::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 100% 0%,rgba(194,168,120,.07),transparent 55%);opacity:0;transition:opacity .4s var(--ease)} .stat:hover{background:var(--bg-2)} .stat:hover::after{opacity:1} - .stat-num{font-size:clamp(46px,6.5vw,68px);font-weight:700;letter-spacing:-.035em;color:var(--ink);line-height:1} + .stat-num{font-size:clamp(42px,5.6vw,62px);font-weight:700;letter-spacing:-.035em;color:var(--ink);line-height:1} .stat-num .plus{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--accent)} .stat-label{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-faint);letter-spacing:.14em;text-transform:uppercase;margin-top:12px;font-weight:500} - .stat-desc{color:var(--ink-dim);font-size:13px;margin-top:8px;font-weight:300} - - /* ---- marquee ---- */ - .marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;background:rgba(255,255,255,.015);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)} - .marquee-track{display:flex;gap:48px;width:max-content;animation:scroll 32s linear infinite;font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:.12em;color:var(--ink-dim);text-transform:uppercase} - .marquee-track span{display:inline-flex;align-items:center;gap:12px;white-space:nowrap} - .marquee-track span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent)} - @media (prefers-reduced-motion: no-preference){@keyframes scroll{to{transform:translateX(-50%)}}} + .stat-desc{color:var(--ink-dim);font-size:13px;margin-top:6px;font-weight:300} /* ---- experience ---- */ - .timeline{display:flex;flex-direction:column;gap:2px} - .job{display:grid;grid-template-columns:170px 1fr;gap:40px;padding:46px 0;border-top:1px solid var(--line);transition:padding-left .4s var(--ease-out)} - .job:last-child{border-bottom:1px solid var(--line)} + .timeline{display:flex;flex-direction:column} + .job{display:grid;grid-template-columns:160px 1fr;gap:40px;padding:46px 0;border-top:1px solid var(--line);transition:padding-left .4s var(--ease-out)} + .job:first-child{border-top:none} .job:hover{padding-left:10px} .job-period{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--accent);letter-spacing:.04em;padding-top:5px;font-weight:500} - .job-body h3{font-size:22px;font-weight:700;letter-spacing:-.01em} + .job-body h3{font-size:21px;font-weight:700;letter-spacing:-.01em} .job-co{color:var(--ink-dim);font-weight:300;font-size:15px;margin-top:3px} .job-co span{color:var(--ink-faint)} - .job-desc{color:var(--ink-dim);font-size:15px;line-height:1.75;margin-top:18px;max-width:680px} + .job-desc{color:var(--ink-dim);font-size:15px;line-height:1.75;margin-top:16px;max-width:680px} .job-desc b{color:var(--ink);font-weight:500} - .job-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px} - .tag-chip{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-dim);border:1px solid var(--line-2);padding:6px 12px;border-radius:999px;letter-spacing:.04em;transition:border-color .25s var(--ease),color .25s var(--ease)} - .tag-chip:hover{border-color:var(--line-3);color:var(--ink)} - .tag-chip.hi{color:var(--accent);border-color:var(--accent-dim);background:rgba(194,168,120,.06)} + .job-divider{height:1px;background:var(--line);margin:0 auto;width:0;transition:width .5s var(--ease-out)} - /* ---- arsenal ---- */ + /* ---- arsenal: grouped, no marquee ---- */ .arsenal{display:grid;grid-template-columns:repeat(3,1fr);gap:22px} - .arm-card{border:1px solid var(--line);background:linear-gradient(180deg,var(--surface),var(--bg));padding:36px 30px;border-radius:8px;position:relative;transition:transform .4s var(--ease-out),border-color .35s var(--ease);overflow:hidden} + .arm-card{border:1px solid var(--line);background:linear-gradient(180deg,var(--surface),var(--bg));padding:32px 28px;border-radius:10px;position:relative;transition:transform .4s var(--ease-out),border-color .35s var(--ease);overflow:hidden} .arm-card::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:0;transition:opacity .4s var(--ease)} - .arm-card::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(194,168,120,.07),transparent 60%);opacity:0;transition:opacity .4s var(--ease)} .arm-card:hover{border-color:var(--line-3);transform:translateY(-6px)} - .arm-card:hover::before,.arm-card:hover::after{opacity:1} - .arm-num{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-faint);letter-spacing:.14em;font-weight:500} - .arm-title{font-size:20px;font-weight:700;margin:14px 0 12px;letter-spacing:-.01em} + .arm-card:hover::before{opacity:1} + .arm-ico{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-faint);letter-spacing:.14em;font-weight:500;display:flex;align-items:center;gap:8px} + .arm-ico .n{color:var(--accent)} + .arm-title{font-size:19px;font-weight:700;margin:12px 0 10px;letter-spacing:-.01em} .arm-desc{color:var(--ink-dim);font-size:14px;line-height:1.7;font-weight:300} - .arm-stack{display:flex;flex-wrap:wrap;gap:7px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)} - .arm-stack span{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-dim);border:1px solid var(--line);padding:5px 11px;border-radius:4px;letter-spacing:.04em;transition:color .25s var(--ease),border-color .25s var(--ease)} + .arm-stack{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)} + .arm-stack span{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-dim);border:1px solid var(--line);padding:5px 10px;border-radius:5px;letter-spacing:.04em;transition:color .25s var(--ease),border-color .25s var(--ease)} .arm-stack span:hover{color:var(--accent);border-color:var(--accent-dim)} /* ---- work ---- */ - .work-grid{display:flex;flex-direction:column;gap:2px} - .work{display:grid;grid-template-columns:90px 1fr 280px;gap:36px;padding:50px 0;border-top:1px solid var(--line);align-items:start;transition:padding-left .4s var(--ease-out),background .4s var(--ease)} - .work:last-child{border-bottom:1px solid var(--line)} + .work-grid{display:flex;flex-direction:column} + .work{display:grid;grid-template-columns:80px 1fr 260px;gap:36px;padding:48px 0;border-top:1px solid var(--line);align-items:start;transition:padding-left .4s var(--ease-out),background .4s var(--ease)} + .work:first-child{border-top:none} .work:hover{padding-left:12px;background:linear-gradient(90deg,rgba(255,255,255,.02),transparent 40%)} .work-idx{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--accent);letter-spacing:.08em;padding-top:6px;font-weight:500} - .work-main h3{font-size:clamp(23px,2.7vw,32px);font-weight:700;letter-spacing:-.02em} - .work-main p{color:var(--ink-dim);font-size:15px;line-height:1.75;margin-top:16px;max-width:580px;font-weight:300} + .work-main h3{font-size:clamp(22px,2.6vw,30px);font-weight:700;letter-spacing:-.02em} + .work-metric{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--accent);margin-top:10px;letter-spacing:.04em} + .work-main p{color:var(--ink-dim);font-size:15px;line-height:1.75;margin-top:14px;max-width:580px;font-weight:300} .work-main p b{color:var(--ink);font-weight:500} - .work-side{padding-top:8px} .work-side .lbl{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--ink-faint);letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px;font-weight:500} .work-stack{display:flex;flex-wrap:wrap;gap:8px} - .work-stack span{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-dim);border:1px solid var(--line-2);padding:6px 11px;border-radius:4px} + .work-stack span{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-dim);border:1px solid var(--line-2);padding:5px 10px;border-radius:5px} /* ---- final cta ---- */ - .cta-sec{padding:150px 0;text-align:center;border-top:1px solid var(--line);position:relative} - .cta-sec::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 50% 100%,rgba(194,168,120,.09),transparent 70%);pointer-events:none} - .cta-eyebrow{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--accent);letter-spacing:.16em;text-transform:uppercase;margin-bottom:26px;position:relative;font-weight:600} - h2.cta-title{font-size:clamp(40px,6.4vw,76px);font-weight:700;letter-spacing:-.04em;line-height:1.02;position:relative;max-width:860px;margin:0 auto} + .cta-sec{padding:140px 0;text-align:center;border-top:1px solid var(--line);position:relative} + .cta-sec::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 50% 100%,rgba(194,168,120,.10),transparent 70%);pointer-events:none} + .cta-eyebrow{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--accent);letter-spacing:.16em;text-transform:uppercase;margin-bottom:24px;position:relative;font-weight:600} + h2.cta-title{font-size:clamp(34px,5.2vw,66px);font-weight:700;letter-spacing:-.035em;line-height:1.05;position:relative;max-width:820px;margin:0 auto} .cta-title .soft{color:var(--ink-faint);font-weight:300} .cta-title .accent{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--accent)} - .cta-sub{color:var(--ink-dim);font-size:17px;margin-top:26px;font-weight:300;max-width:540px;margin-left:auto;margin-right:auto;position:relative} - .cta-sec .cta-row{justify-content:center;margin-top:42px;position:relative} - + .cta-sub{color:var(--ink-dim);font-size:17px;margin-top:24px;font-weight:300;max-width:540px;margin-left:auto;margin-right:auto;position:relative} + .cta-sec .cta-row{justify-content:center;margin-top:38px;position:relative} .email-copy{position:relative} - .copy-tip{ - position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%) translateY(6px); - background:var(--surface-2);border:1px solid var(--line-2);color:var(--accent); - font-family:'JetBrains Mono',monospace;font-size:11px;padding:7px 13px;border-radius:4px; - opacity:0;pointer-events:none;transition:opacity .25s var(--ease),transform .25s var(--ease);white-space:nowrap; - } + .copy-tip{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%) translateY(6px);background:var(--surface-2);border:1px solid var(--line-2);color:var(--accent);font-family:'JetBrains Mono',monospace;font-size:11px;padding:7px 13px;border-radius:5px;opacity:0;pointer-events:none;transition:opacity .25s var(--ease),transform .25s var(--ease);white-space:nowrap} .copy-tip.show{opacity:1;transform:translateX(-50%) translateY(0)} /* ---- footer ---- */ - footer{border-top:1px solid var(--line);padding:54px 0;padding-bottom:max(60px,env(safe-area-inset-bottom))} - .foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px} + footer{border-top:1px solid var(--line);padding:50px 0;padding-bottom:max(56px,env(safe-area-inset-bottom))} + .foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px} .foot-left{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--ink-faint);letter-spacing:.04em} .foot-left b{color:var(--ink-dim);font-weight:500} - .foot-right{display:flex;gap:24px} - .foot-right a{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--ink-dim);text-decoration:none;letter-spacing:.04em;transition:color .25s var(--ease)} + .foot-right{display:flex;gap:26px;align-items:center} + .foot-right a{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--ink-dim);text-decoration:none;letter-spacing:.04em;transition:color .25s var(--ease);display:inline-flex;align-items:center;gap:7px} .foot-right a:hover{color:var(--accent)} + .foot-right svg{width:14px;height:14px;fill:currentColor} - /* ---- reveal ---- */ - .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)} + /* reveal */ + .reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)} .reveal.in{opacity:1;transform:none} .reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}.reveal.d5{transition-delay:.4s} - /* ---- responsive ---- */ + @media(max-width:920px){ + .hero-grid{grid-template-columns:1fr;gap:44px} + .hero-left{max-width:none} + .about-grid{grid-template-columns:1fr;gap:44px} + } @media(max-width:880px){ .nav-links{position:fixed;inset:64px 0 auto 0;background:rgba(10,10,16,.97);backdrop-filter:blur(16px);flex-direction:column;gap:0;padding:8px 0;border-bottom:1px solid var(--line);transform:translateY(-130%);transition:transform .35s var(--ease);border-radius:0 0 12px 12px} .nav-links.open{transform:translateY(0)} .nav-links a{padding:18px 28px;width:100%;border-bottom:1px solid var(--line)} .menu-btn{display:block} - .about-grid{grid-template-columns:1fr;gap:44px} - .stats{grid-template-columns:1fr} - .arsenal{grid-template-columns:1fr} - .job{grid-template-columns:1fr;gap:14px;padding-left:0!important} + .stats,.arsenal{grid-template-columns:1fr} + .job{grid-template-columns:1fr;gap:12px;padding-left:0!important} .job-period{padding-top:0} .work{grid-template-columns:1fr;gap:18px;padding-left:0!important} - .work-side{padding-top:0} + .work-side{padding-top:4px} .hero{padding-top:120px} .sec{padding:84px 0} - .hero-term{max-width:none} } @media(prefers-reduced-motion:reduce){ *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important} @@ -337,9 +299,9 @@ xdfnx @@ -351,55 +313,67 @@
-
- - Open for Complex Projects -
- -

- Systems built
- for pressure. -

- -

- Senior Full Stack Engineer. I build scalable web applications and optimize the core infrastructure that holds them together. Rust & C++ on the paths where speed is not optional. -

- - - -
-
ROLE / Senior Full Stack Engineer
-
FOCUS / System Performance
-
STACK / Rust · C++ · TS
-
- -
- - -
@@ -407,22 +381,28 @@

The Engineer

-

- Senior Full Stack Engineer with a focus on system performance. I design infrastructure that withstands pressure, write code that respects the machine, and ship systems built to outlast their first traffic spike. + I design infrastructure that withstands pressure — write code that respects the machine, and ship systems built to outlast their first traffic spike.

Six years in the engine room. Scalable web applications, optimized core infrastructure, and the low-level work most teams avoid. When the load hits, the system holds — because it was designed to.

- -
-
Voice — three cuts
-
Short

Senior Full Stack Engineer. I build systems that survive scale. Rust & C++ where speed is not optional.

-
Atmospheric

Six years in the engine room. Scalable web applications and the core infrastructure that holds them up. When the load hits, the system holds — because it was built to.

-
Premium

Senior Full Stack Engineer focused on system performance. I design infrastructure that withstands pressure, write code that respects the machine, and ship systems built to outlast their first traffic spike.

+
+
+ +

Frontend that earns its pixels

Type-safe, accessible, responsive interfaces in React, Next.js and TypeScript — UX built in, not bolted on.

+
+
+ +

Backend & infrastructure

Scalable architectures in Node and Python — Dockerized, cloud-native, built to grow without breaking under their own weight.

+
+
+ +

Systems on the critical path

When the runtime isn't fast enough: memory-safe, high-performance Rust & C++ modules — the work most teams avoid.

+
@@ -433,69 +413,37 @@ 02 / SIGNAL

By the Numbers

+

Representative outcomes from recent production work — figures anonymized, results real.

-
6+
Years in the Field
In the engine room.
-
20+
Production Deploys
Shipped under load.
-
40%
Latency Cut (avg)
Where speed is not optional.
-
- - - -
-
- 03 / RECORD -

Professional Experience

- -
-
-
-
2025 — Present
-
-

Senior Full Stack Engineer

-
TechFlow Systems // Full-stack, infra, perf
-

Leading the backend migration to microservices. Built a high-throughput event processing pipeline in Python and Rust — latency cut by 40%. Own the React architecture behind the main dashboard, from data layer to render.

-
- Microservices MigrationEvent PipelinePythonRustReact−40% Latency -
-
-
-
-
2020 — 2023
-
-

Software Engineer

-
Creative Solutions Ltd. // Full-stack, native modules
-

Full-stack web applications in Node.js and TypeScript. When the runtime slowed down, I went lower — native C++ modules for image processing pushed workflows 3× faster. Where JavaScript couldn't keep up, the machine did.

-
- Node.jsTypeScriptNative C++ ModulesImage Processing3× Faster -
-
-
+
6+
Years in the Field
Engine room to architecture.
+
40%
Avg Latency Cut
On the event pipeline.
+
3×
Throughput Win
Native modules vs. JS.
- 04 / ARSENAL + 03 / ARSENAL

Technical Arsenal

-
A / FRONT
+
A/ FRONT
Modern Frontend
Type-safe, responsive interfaces. UX and accessibility built in — not bolted on. Every pixel earns its place.
ReactNext.jsTypeScript
-
B / INFRA
+
B/ INFRA
Backend & Infra
Scalable architectures in Node and Python. Dockerized, cloud-native — built to grow without breaking under its own weight.
Node.jsPythonDockerRedisWebSockets
-
C / CORE
+
C/ CORE
Systems & Low Level
When the runtime isn't fast enough. Memory-safe, high-performance modules for the critical path. The work most teams avoid.
RustC++System Design
@@ -506,7 +454,7 @@
- 05 / SELECTED WORK + 04 / SELECTED WORK

Case Studies

@@ -515,6 +463,7 @@
01

Fintech Analytics Engine

+
— real-time · zero-cost abstractions

Real-time financial dashboard. The backend aggregates streams from multiple sources through a custom Rust service — zero-cost abstractions, real performance. Built to render data the moment it arrives, not a cycle later.

Stack
Next.jsRustWebSockets
@@ -523,6 +472,7 @@
02

AI Data Pipeline

+
— terabytes · Python + C++ bindings

Automated ETL across terabytes of data. Python for flexibility, C++ bindings for the heavy lifting. The pipeline doesn't choke when the data grows — it was designed for the next order of magnitude.

Stack
PythonC++Docker
@@ -531,6 +481,7 @@
03

Distributed Task Queue

+
— fault-tolerant · low-memory

Fault-tolerant job scheduler. Celery-inspired, rebuilt for low-memory environments. Jobs survive crashes. The queue doesn't bleed — engineered to hold the line when the system is under pressure.

Stack
Node.jsRedisSystem Design
@@ -538,11 +489,38 @@
+ +
+
+ 05 / RECORD +

Professional Experience

+ +
+
+
+
2024 — Present
+
+

Senior Full Stack Engineer

+
TechFlow Systems // full-stack · infra · perf
+

Leading the backend migration to microservices. Built a high-throughput event processing pipeline in Python and Rust — latency cut by 40%. Own the React architecture behind the main dashboard, from data layer to render.

+
+
+
+
2021 — 2024
+
+

Software Engineer

+
Creative Solutions Ltd. // full-stack · native modules
+

Full-stack web applications in Node.js and TypeScript. When the runtime slowed, I went lower — native C++ modules for image processing pushed workflows 3× faster. Where JavaScript couldn't keep up, the machine did.

+
+
+
+
+
06 / TRANSMISSION OPEN
-

Ready for the pressure?

-

Let's talk about systems that scale without noise — performance where it matters, infrastructure that holds the line.

+

Let's build something that won't break.

+

Systems that scale without noise — performance where it matters, infrastructure that holds the line.