levkin.ca/stack-folder/index.html
ilia 21c75cdcba Rebuild stack-folder with sticky tab rail and site previews.
L0–L7 folders stack on scroll with aligned max depth, labeled tabs that
stay consistent when L7 joins the rail, Cal embeds, preview screenshots,
Playwright tests, and updated README.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-21 21:30:05 -04:00

186 lines
12 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Levkin — Company Files</title>
<meta name="description" content="Levkin Inc. — company specification, filed by section." />
<link rel="icon" href="/favicon.svg" type="image/svg+xml" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Instrument+Sans:wght@400;500;600&family=Literata:opsz,wght@7..72,400;7..72,600&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="./folder.css" />
</head>
<body>
<header class="site-header desk-footer">
Levkin Inc. · production software, automation, and handoff-ready systems ·
<a href="https://cal.levkin.ca/ilia/consult" target="_blank" rel="noopener noreferrer">book discovery call</a>
</header>
<div class="tab-rail" id="tab-rail" aria-label="Layers L0L7">
<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>
<button type="button" class="rail-tab" data-goto="7" data-layer="7">L7</button>
</div>
<main class="mount">
<article class="folder f0" data-layer="0" id="layer-0">
<button type="button" class="tab" data-goto="0"><span class="tab-code">L0</span><span class="tab-label"> · Company</span></button>
<div class="body body--has-preview">
<div class="body-copy">
<p class="file-id">LK-SPEC-1.0 · Cover sheet</p>
<h1>Levkin Software Development Company</h1>
<p class="lead">Custom applications, automation, and practice systems — <span class="hi">scoped</span>, <span class="hi">documented</span>, and built to run in <span class="hi">production</span>.</p>
<p class="avail"><span class="badge badge--avail">AVAILABLE</span> <span class="hi">Taking on new engagements</span> · remote NA &amp; EU</p>
<div class="cta-block">
<a class="btn btn--primary" href="https://cal.levkin.ca/ilia/consult" target="_blank" rel="noopener noreferrer">Book 15-minute discovery call</a>
<a class="btn btn--ghost" href="mailto:ilia@levkine.ca?subject=Project%20enquiry">ilia@levkine.ca</a>
</div>
</div>
<div class="cal-slot is-blocked" data-cal-embed data-cal-theme="dark" data-cal-target="cal-inline-l0">
<div class="site-preview-bar"><span class="site-preview-url">cal.levkin.ca · book a call</span><a class="site-preview-go" href="https://cal.levkin.ca/ilia/consult" target="_blank" rel="noopener noreferrer" aria-label="Open calendar in new tab"></a></div>
<div class="cal-embed-frame">
<div class="cal-inline" id="cal-inline-l0"></div>
<a class="cal-embed-fallback" href="https://cal.levkin.ca/ilia/consult" target="_blank" rel="noopener noreferrer">
<img src="./previews/cal-dark.png" alt="" decoding="async" />
</a>
</div>
</div>
</div>
</article>
<article class="folder f1" data-layer="1" id="layer-1">
<button type="button" class="tab" data-goto="1"><span class="tab-code">L1</span><span class="tab-label"> · Scope</span></button>
<div class="body body--has-preview">
<div class="body-copy">
<h2>Scope</h2>
<p><span class="hi">Boutique practice</span> — not a staffing agency. Clear deliverable and handoff so your team can own what ships.</p>
</div>
<a class="site-preview" href="/spec/" target="_blank" rel="noopener noreferrer">
<span class="site-preview-bar"><span class="site-preview-url">levkin.ca / spec</span><span class="site-preview-go" aria-hidden="true"></span></span>
<span class="site-preview-frame"><img class="site-preview-img" src="./previews/spec.png" alt="" loading="lazy" decoding="async" /></span>
</a>
</div>
</article>
<article class="folder f2 folder--services" data-layer="2" id="layer-2">
<button type="button" class="tab" data-goto="2"><span class="tab-code">L2</span><span class="tab-label"> · Services</span></button>
<div class="body">
<div class="body-copy">
<h2>Services</h2>
<p class="section-lead">Primary lines — each engagement gets a <span class="hi">statement of work</span> after discovery.</p>
<ul class="service-deep-list">
<li><strong>Custom software</strong> — Web apps, APIs, and internal tools; fit the problem, not a preset stack.</li>
<li><strong>Automation</strong> — Reporting, notifications, data sync, ops in the background. <span class="xref"><a href="https://auto.levkin.ca" target="_blank" rel="noopener noreferrer">auto.levkin.ca</a></span></li>
<li><strong>CaseWare</strong> — Templates, releases, practice customization, pipeline work. <span class="xref"><a href="https://caseware.levkin.ca" target="_blank" rel="noopener noreferrer">caseware.levkin.ca</a></span></li>
<li><strong>Quality &amp; testing</strong> — Test strategy, automation, release confidence. <span class="xref"><a href="https://iliadobkin.com" target="_blank" rel="noopener noreferrer">iliadobkin.com</a></span></li>
</ul>
<p class="service-note"><strong>How we work:</strong> fixed scope · production-ready · handoff-friendly · right-sized solutions.</p>
<p class="service-note">Discovery call → written proposal → delivery with docs → optional support.</p>
</div>
<div class="body-fill" aria-hidden="true"></div>
</div>
</article>
<article class="folder f3" data-layer="3" id="layer-3">
<button type="button" class="tab" data-goto="3"><span class="tab-code">L3</span><span class="tab-label"> · Automation</span></button>
<div class="body body--has-preview">
<div class="body-copy">
<h2>Automation</h2>
<p>Workflows that run <span class="hi">reliably in the background</span> — reporting, sync, ops off your plate.</p>
</div>
<a class="site-preview" href="https://auto.levkin.ca" target="_blank" rel="noopener noreferrer">
<span class="site-preview-bar"><span class="site-preview-url">auto.levkin.ca</span><span class="site-preview-go" aria-hidden="true"></span></span>
<span class="site-preview-frame"><img class="site-preview-img" src="./previews/auto.png" alt="" loading="lazy" decoding="async" /></span>
</a>
</div>
</article>
<article class="folder f4" data-layer="4" id="layer-4">
<button type="button" class="tab" data-goto="4"><span class="tab-code">L4</span><span class="tab-label"> · Enterprise</span></button>
<div class="body body--has-preview">
<div class="body-copy">
<h2>CaseWare</h2>
<p>Templates, releases, and practice customization — from small fixes to full pipeline overhauls.</p>
</div>
<a class="site-preview" href="https://caseware.levkin.ca" target="_blank" rel="noopener noreferrer">
<span class="site-preview-bar"><span class="site-preview-url">caseware.levkin.ca</span><span class="site-preview-go" aria-hidden="true"></span></span>
<span class="site-preview-frame"><img class="site-preview-img" src="./previews/caseware.png" alt="" loading="lazy" decoding="async" /></span>
</a>
</div>
</article>
<article class="folder f5" data-layer="5" id="layer-5">
<button type="button" class="tab" data-goto="5"><span class="tab-code">L5</span><span class="tab-label"> · Portfolio</span></button>
<div class="body body--has-preview">
<div class="body-copy">
<h2>Quality &amp; testing</h2>
<p>Test strategy, automation, and release confidence without hiring full-time.</p>
</div>
<a class="site-preview" href="https://iliadobkin.com" target="_blank" rel="noopener noreferrer">
<span class="site-preview-bar"><span class="site-preview-url">iliadobkin.com</span><span class="site-preview-go" aria-hidden="true"></span></span>
<span class="site-preview-frame"><img class="site-preview-img" src="./previews/iliadobkin.png" alt="" loading="lazy" decoding="async" /></span>
</a>
</div>
</article>
<article class="folder f6" data-layer="6" id="layer-6">
<button type="button" class="tab" data-goto="6"><span class="tab-code">L6</span><span class="tab-label"> · Source</span></button>
<div class="body body--has-preview">
<div class="body-copy">
<h2>Source &amp; repos</h2>
<p>Project code and templates on our Gitea — private by default, yours on handoff.</p>
</div>
<a class="site-preview" href="https://git.levkin.ca/explore/repos" target="_blank" rel="noopener noreferrer">
<span class="site-preview-bar"><span class="site-preview-url">git.levkin.ca / explore</span><span class="site-preview-go" aria-hidden="true"></span></span>
<span class="site-preview-frame"><img class="site-preview-img" src="./previews/git-repos.png" alt="" loading="lazy" decoding="async" /></span>
</a>
</div>
</article>
<article class="folder f7 folder--last" data-layer="7" id="layer-7">
<button type="button" class="tab" data-goto="7"><span class="tab-code">L7</span><span class="tab-label"> · Engage</span></button>
<div class="body body--has-preview">
<div class="body-copy">
<h2>Terms &amp; contact</h2>
<ul class="terms-list">
<li><strong>Fixed scope</strong> — quoted after discovery; no open-ended hourly surprises.</li>
<li><strong>Production-ready</strong> — monitoring, failure handling, documentation included.</li>
<li><strong>Handoff-friendly</strong> — your team or the next vendor can maintain what we ship.</li>
</ul>
</div>
<div class="cal-slot is-blocked" data-cal-embed data-cal-theme="light" data-cal-target="cal-inline-l7">
<div class="site-preview-bar"><span class="site-preview-url">cal.levkin.ca · book a call</span><a class="site-preview-go" href="https://cal.levkin.ca/ilia/consult" target="_blank" rel="noopener noreferrer" aria-label="Open calendar in new tab"></a></div>
<div class="cal-embed-frame">
<div class="cal-inline" id="cal-inline-l7"></div>
<a class="cal-embed-fallback" href="https://cal.levkin.ca/ilia/consult" target="_blank" rel="noopener noreferrer">
<img src="./previews/cal-light.png" alt="" decoding="async" />
</a>
</div>
</div>
</div>
</article>
<div class="stack-stop" aria-hidden="true"></div>
</main>
<script type="module">
import { initStackScroll } from '../shared/stack-scroll.js';
import { initRailRoller } from './folder-rail.js';
import { initCalEmbeds } from './folder-cal.js';
initStackScroll({
sectionSelector: '.folder[data-layer]',
mountSelector: '.mount',
foldTabs: true,
interactionMode: 'navigate',
});
initRailRoller();
initCalEmbeds();
</script>
</body>
</html>