Services presented as a literal card stack with depth indicator and enriched sibling-site content. Co-authored-by: Cursor <cursoragent@cursor.com>
144 lines
5.6 KiB
HTML
144 lines
5.6 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</title>
|
|
<meta name="description" content="Levkin — software development, layer by layer." />
|
|
<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;600&family=Instrument+Sans:wght@400;500;600&display=swap" rel="stylesheet" />
|
|
<link rel="stylesheet" href="./stack.css" />
|
|
</head>
|
|
<body>
|
|
<nav class="nav">
|
|
<a href="/">← options</a>
|
|
<span class="depth" id="depth">depth: 0</span>
|
|
</nav>
|
|
|
|
<div class="stack-viewport">
|
|
<!-- L0 — foundation -->
|
|
<section class="layer layer-0" data-layer="0">
|
|
<div class="layer-inner">
|
|
<header class="layer-head">
|
|
<span class="layer-id">L0</span>
|
|
<span class="layer-name">foundation</span>
|
|
</header>
|
|
<h1>Levkin</h1>
|
|
<p class="tagline">Software development · Canada · remote</p>
|
|
<p class="body">A boutique engineering practice — production systems, automation, and enterprise tooling. Not a body shop. Fixed scope, documented handoff, optional stewardship.</p>
|
|
<div class="chips">
|
|
<span>15+ years</span>
|
|
<span>8h → <2min releases</span>
|
|
<span>24/7 automation</span>
|
|
</div>
|
|
<p class="avail">Currently taking on new engagements</p>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- L1 — custom -->
|
|
<section class="layer layer-1" data-layer="1">
|
|
<div class="layer-inner">
|
|
<header class="layer-head">
|
|
<span class="layer-id">L1</span>
|
|
<span class="layer-name">application</span>
|
|
</header>
|
|
<h2>Custom software</h2>
|
|
<p class="body">Web apps, APIs, internal tools. Stack-agnostic — boring, proven tech preferred.</p>
|
|
<ul class="stack-list">
|
|
<li>TypeScript / Node · Python · C# / .NET</li>
|
|
<li>PostgreSQL · SQL Server · React · Vue</li>
|
|
</ul>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- L2 — automation -->
|
|
<section class="layer layer-2" data-layer="2">
|
|
<div class="layer-inner">
|
|
<header class="layer-head">
|
|
<span class="layer-id">L2</span>
|
|
<span class="layer-name">automation</span>
|
|
<a href="https://auto.levkin.ca" class="layer-link">auto.levkin.ca ↗</a>
|
|
</header>
|
|
<h2>Automation</h2>
|
|
<p class="body">Scripts, no-code workflows, CI/CD, webhooks, LLM integrations — runs while you sleep.</p>
|
|
<ul class="stack-list">
|
|
<li>n8n · Zapier · Make · GitHub Actions</li>
|
|
<li>Jenkins · Azure DevOps · Python · Bash</li>
|
|
</ul>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- L3 — caseware -->
|
|
<section class="layer layer-3" data-layer="3">
|
|
<div class="layer-inner">
|
|
<header class="layer-head">
|
|
<span class="layer-id">L3</span>
|
|
<span class="layer-name">enterprise</span>
|
|
<a href="https://caseware.levkin.ca" class="layer-link">caseware.levkin.ca ↗</a>
|
|
</header>
|
|
<h2>CaseWare & CaseView</h2>
|
|
<p class="body">Features, templates, release automation for audit & accounting. CaseWare International, MNP, JazzIt.</p>
|
|
<ul class="stack-list">
|
|
<li>C# · .NET · SQL Server · JavaScript CI</li>
|
|
</ul>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- L4 — QE -->
|
|
<section class="layer layer-4" data-layer="4">
|
|
<div class="layer-inner">
|
|
<header class="layer-head">
|
|
<span class="layer-id">L4</span>
|
|
<span class="layer-name">quality</span>
|
|
<a href="https://iliadobkin.com" class="layer-link">iliadobkin.com ↗</a>
|
|
</header>
|
|
<h2>Quality engineering</h2>
|
|
<p class="body">Senior SDET — test automation, CI/CD, trace-driven debugging.</p>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- L5 — ops -->
|
|
<section class="layer layer-5" data-layer="5">
|
|
<div class="layer-inner">
|
|
<header class="layer-head">
|
|
<span class="layer-id">L5</span>
|
|
<span class="layer-name">operations</span>
|
|
<a href="https://jobs.levkin.ca" class="layer-link">jobs.levkin.ca ↗</a>
|
|
</header>
|
|
<h2>Job Ops</h2>
|
|
<p class="body">Internal hiring orchestrator — authenticated, per-user job lists.</p>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- L6 — surface / contact -->
|
|
<section class="layer layer-6" data-layer="6">
|
|
<div class="layer-inner">
|
|
<header class="layer-head">
|
|
<span class="layer-id">L6</span>
|
|
<span class="layer-name">interface</span>
|
|
</header>
|
|
<h2>Engage</h2>
|
|
<p class="body">Discover → Proposal → Ship → Maintain (optional). Fixed-scope quotes after a 15-minute call.</p>
|
|
<div class="contact-row">
|
|
<a class="btn" href="https://cal.levkin.ca/ilia/consult">Book 15 min →</a>
|
|
<a class="btn btn-ghost" href="mailto:hello@levkine.ca?subject=Stack%20enquiry">hello@levkine.ca</a>
|
|
</div>
|
|
<p class="guarantees">Retries · docs · tests before prod · smallest solution that fits</p>
|
|
<footer class="layer-foot">
|
|
<a href="https://git.levkin.ca">git.levkin.ca</a>
|
|
<span>levkin.ca</span>
|
|
</footer>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
|
|
<div class="stack-ruler" aria-hidden="true">
|
|
<span>L0</span><span>L1</span><span>L2</span><span>L3</span><span>L4</span><span>L5</span><span>L6</span>
|
|
</div>
|
|
|
|
<script src="./stack.js" type="module"></script>
|
|
</body>
|
|
</html>
|