levkin.ca/stack-folder/index.html
ilia 07dffaa323 Fix stack overlap, staggered folder tabs with click-to-jump.
Shared scroll driver for all variants; wider folders; tab rail; trace and rack aligned.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-20 22:55:39 -04:00

107 lines
4.4 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Levkin — Stack Folder</title>
<link rel="icon" href="/favicon.svg" type="image/svg+xml" />
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Instrument+Sans:wght@400;500;600&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="../shared/stack-vars.css" />
<link rel="stylesheet" href="./folder.css" />
</head>
<body>
<nav class="nav">
<a href="/">← options</a>
<a href="/stack/">cards</a>
<a href="/stack-trace/">trace</a>
<a href="/stack-rack/">rack</a>
<span class="depth" id="depth">L0</span>
</nav>
<div class="tab-rail" aria-label="Jump to layer">
<button type="button" class="rail-tab active" data-goto="0" data-layer="0">L0</button>
<button type="button" class="rail-tab" data-goto="1" data-layer="1">L1</button>
<button type="button" class="rail-tab" data-goto="2" data-layer="2">L2</button>
<button type="button" class="rail-tab" data-goto="3" data-layer="3">L3</button>
<button type="button" class="rail-tab" data-goto="4" data-layer="4">L4</button>
<button type="button" class="rail-tab" data-goto="5" data-layer="5">L5</button>
<button type="button" class="rail-tab" data-goto="6" data-layer="6">L6</button>
</div>
<main class="mount">
<div class="scroll-section" data-layer="0">
<article class="folder f0" id="layer-0">
<button type="button" class="tab" data-goto="0">L0 · foundation</button>
<div class="body">
<h1>Levkin</h1>
<p>Software development · Canada · remote</p>
<p class="avail">Taking new engagements · 15+ yrs · 8h→2m</p>
</div>
</article>
</div>
<div class="scroll-section" data-layer="1">
<article class="folder f1" id="layer-1">
<button type="button" class="tab" data-goto="1">L1 · application</button>
<div class="body">
<h2>Custom software</h2>
<p>Web apps, APIs, tools — TypeScript · Python · .NET · PostgreSQL</p>
</div>
</article>
</div>
<div class="scroll-section" data-layer="2">
<article class="folder f2" id="layer-2">
<button type="button" class="tab" data-goto="2">L2 · automation</button>
<div class="body">
<h2>Automation</h2>
<p>n8n · Zapier · CI/CD · LLMs · <a href="https://auto.levkin.ca">auto.levkin.ca</a></p>
</div>
</article>
</div>
<div class="scroll-section" data-layer="3">
<article class="folder f3" id="layer-3">
<button type="button" class="tab" data-goto="3">L3 · enterprise</button>
<div class="body">
<h2>CaseWare &amp; CaseView</h2>
<p>15+ years · CaseWare Intl, MNP, JazzIt · <a href="https://caseware.levkin.ca">caseware.levkin.ca</a></p>
</div>
</article>
</div>
<div class="scroll-section" data-layer="4">
<article class="folder f4" id="layer-4">
<button type="button" class="tab" data-goto="4">L4 · quality</button>
<div class="body">
<h2>Quality engineering</h2>
<p>Senior SDET · <a href="https://iliadobkin.com">iliadobkin.com</a></p>
</div>
</article>
</div>
<div class="scroll-section" data-layer="5">
<article class="folder f5" id="layer-5">
<button type="button" class="tab" data-goto="5">L5 · operations</button>
<div class="body">
<h2>Job Ops</h2>
<p>Internal hiring orchestrator · <a href="https://jobs.levkin.ca">jobs.levkin.ca</a></p>
</div>
</article>
</div>
<div class="scroll-section scroll-section--final" data-layer="6">
<article class="folder f6" id="layer-6">
<button type="button" class="tab" data-goto="6">L6 · interface</button>
<div class="body">
<h2>Engage</h2>
<p>Discover → Proposal → Ship → Maintain</p>
<p><a class="btn" href="https://cal.levkin.ca/ilia/consult">Book 15 min</a> <a class="btn ghost" href="mailto:hello@levkine.ca">hello@levkine.ca</a></p>
</div>
</article>
</div>
<div class="stack-stop"></div>
</main>
<footer class="foot"><a href="https://git.levkin.ca">git.levkin.ca</a><span>levkin.ca</span></footer>
<script type="module">
import { initStackScroll } from '../shared/stack-scroll.js';
initStackScroll();
</script>
</body>
</html>