Enrich landing pages with content from sibling sites.

Add proof metrics, stacks, clients, availability, and engagement flow across Spec, Slab, Relay, and Vault.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
ilia 2026-05-20 22:36:39 -04:00
parent b9a601894d
commit c97cf7427f
9 changed files with 246 additions and 35 deletions

View File

@ -142,7 +142,7 @@
<header>
<p class="eyebrow">levkin.ca · round 3</p>
<h1>Four directions.</h1>
<p class="lead">Spec is back. Plus Slab, Relay, and Vault — three new concepts. Company-first throughout.</p>
<p class="lead">Enriched from auto, caseware, iliadobkin, and jobs — proof points, stacks, clients, and booking. Company-first throughout.</p>
</header>
<div class="grid">

View File

@ -40,7 +40,7 @@
<li>
<span class="line-id">L-1</span>
<span class="line-name">Custom software</span>
<span class="line-status">open</span>
<span class="line-desc">TS · Python · .NET · APIs</span>
</li>
<li>
<span class="line-id">L-2</span>
@ -54,19 +54,26 @@
</li>
<li>
<span class="line-id">L-4</span>
<span class="line-name">Operations</span>
<span class="line-name">Job Ops</span>
<a href="https://jobs.levkin.ca" class="line-link">jobs.levkin.ca</a>
</li>
<li>
<span class="line-id">L-5</span>
<span class="line-name">Quality engineering</span>
<span class="line-name">SDET / QA</span>
<a href="https://iliadobkin.com" class="line-link">iliadobkin.com</a>
</li>
</ul>
</section>
<section class="metrics">
<div class="metric"><strong>15+</strong> yrs enterprise</div>
<div class="metric"><strong>8h→2m</strong> releases</div>
<div class="metric"><strong>open</strong> engagements</div>
</section>
<section class="principles">
<p>Every transmission handled with retries, documentation, and tests before it reaches production. Canadian. Remote.</p>
<p>Every transmission handled with retries, documentation, and tests before it reaches production. Canadian · remote NA &amp; EU · fixed-scope quotes after discovery.</p>
<p class="clients">CaseWare International · MNP · JazzIt</p>
</section>
<section class="send">

View File

@ -135,10 +135,16 @@ main {
.channels ul { list-style: none; }
.line-desc {
font-size: 0.7rem;
color: var(--dim);
grid-column: 2;
}
.channels li {
display: grid;
grid-template-columns: 2.5rem 1fr auto;
gap: 0.5rem;
gap: 0.25rem 0.5rem;
align-items: center;
padding: 0.65rem 0;
border-bottom: 1px solid rgba(212, 165, 116, 0.1);
@ -155,6 +161,27 @@ main {
.line-link:hover { text-decoration: underline; }
.metrics {
display: flex;
flex-wrap: wrap;
gap: 1rem 1.5rem;
margin-bottom: 1.5rem;
padding: 1rem 0;
border-top: 1px solid rgba(212, 165, 116, 0.15);
border-bottom: 1px solid rgba(212, 165, 116, 0.15);
}
.metric {
font-size: 0.75rem;
letter-spacing: 0.06em;
color: var(--dim);
}
.metric strong {
color: var(--amber);
font-weight: 700;
}
.principles {
font-size: 0.85rem;
color: var(--dim);
@ -162,6 +189,14 @@ main {
line-height: 1.65;
}
.principles .clients {
margin-top: 0.75rem;
font-size: 0.75rem;
letter-spacing: 0.1em;
color: var(--amber);
opacity: 0.8;
}
.send {
padding: 1.5rem 0;
border-top: 1px solid rgba(212, 165, 116, 0.25);

View File

@ -1,11 +1,19 @@
const MESSAGES = [
{
morse: '·−·−− · ·−·−− ·−· · ·−·−− · ·−·−− ·−· · ·−·−− ·−−−',
text: 'Levkin builds production software for teams under pressure. Custom systems, automation, enterprise tooling.',
text: 'Levkin — Canadian software practice. Custom apps, automation (n8n, CI/CD, LLMs), CaseWare, SDET. Remote NA & EU. Taking new work.',
},
{
morse: ' ·−·−− · ·−·−− ·−· · ·−·−− ·−−− · ·−·−− ·−· · ·−·−− ',
text: 'Proof: 15+ years enterprise. CaseWare releases cut from 8 hours to under 2 minutes. Automation runs 24/7 — not demos.',
},
{
morse: '·−·−− · ·−·−− ·−· · ·−·−− · ·−·−− ·−· · ·−·−− ·−−−',
text: 'Discover (15 min) → Proposal (fixed scope) → Ship (tested, documented) → Maintain (optional). auto.levkin.ca · caseware.levkin.ca · iliadobkin.com',
},
{
morse: ' ·−·−− · ·−·−− ·−· · ·−·−− ·−−− · ·−·−− ·−· · ·−·−− · ·−·−− ·−· · ·−·−− ·−−−',
text: 'Error handling required. Documentation required. Tests before live data. Scope creep rejected.',
text: 'Error handling required. Documentation required. Tests before live data. Pragmatism: 20-line script beats 200-node workflow when it fits.',
},
];

View File

@ -25,31 +25,45 @@
<p>WE BUILD WHAT RUNS.</p>
</section>
<section class="strip strip-avail">
<p>AVAILABLE · NEW ENGAGEMENTS · REMOTE NA &amp; EU</p>
</section>
<section class="stats">
<div class="stat"><span class="stat-n">15+</span><span class="stat-l">YEARS</span></div>
<div class="stat"><span class="stat-n">8h→2m</span><span class="stat-l">RELEASES</span></div>
<div class="stat"><span class="stat-n">24/7</span><span class="stat-l">AUTOMATION</span></div>
</section>
<section class="blocks">
<div class="block">
<span class="num">01</span>
<h2>CUSTOM</h2>
<p>Apps · APIs · tools</p>
<p>Apps · APIs · TS · Python · .NET</p>
</div>
<div class="block block-inv">
<span class="num">02</span>
<h2>AUTO</h2>
<p><a href="https://auto.levkin.ca">auto.levkin.ca</a></p>
<p>n8n · Zapier · CI/CD · LLMs</p>
<p class="block-link"><a href="https://auto.levkin.ca">auto.levkin.ca</a></p>
</div>
<div class="block">
<span class="num">03</span>
<h2>CASE</h2>
<p><a href="https://caseware.levkin.ca">caseware.levkin.ca</a></p>
<p>CaseWare · MNP · JazzIt</p>
<p class="block-link"><a href="https://caseware.levkin.ca">caseware.levkin.ca</a></p>
</div>
<div class="block block-inv">
<span class="num">04</span>
<h2>OPS</h2>
<p><a href="https://jobs.levkin.ca">jobs.levkin.ca</a></p>
<p>Job orchestration · auth</p>
<p class="block-link"><a href="https://jobs.levkin.ca">jobs.levkin.ca</a></p>
</div>
<div class="block block-wide">
<span class="num">05</span>
<h2>QE</h2>
<p><a href="https://iliadobkin.com">iliadobkin.com</a></p>
<p>Senior SDET · test automation · traces</p>
<p class="block-link"><a href="https://iliadobkin.com">iliadobkin.com</a></p>
</div>
</section>

View File

@ -74,6 +74,55 @@ main { max-width: 100%; }
letter-spacing: 0.02em;
}
.strip-avail {
background: var(--black);
color: var(--white);
}
.strip-avail p {
font-size: 0.7rem;
letter-spacing: 0.2em;
font-weight: 500;
}
.stats {
display: grid;
grid-template-columns: repeat(3, 1fr);
border-bottom: 4px solid var(--black);
}
.stat {
padding: 1.5rem 1rem;
text-align: center;
border-right: 4px solid var(--black);
}
.stat:last-child { border-right: none; }
.stat-n {
display: block;
font-family: var(--font-display);
font-size: 1.75rem;
letter-spacing: -0.02em;
}
.stat-l {
font-size: 0.6rem;
letter-spacing: 0.25em;
font-weight: 500;
}
.block-link {
margin-top: 0.35rem;
font-size: 0.75rem;
}
.block-link a {
color: inherit;
text-decoration: underline;
text-underline-offset: 2px;
}
.blocks {
display: grid;
grid-template-columns: 1fr 1fr;

View File

@ -18,9 +18,10 @@
<a href="#abstract">Abstract</a>
<a href="#scope">1. Scope</a>
<a href="#services">2. Services</a>
<a href="#properties">3. Properties</a>
<a href="#subsidiaries">4. Subdomains</a>
<a href="#contact">5. Contact</a>
<a href="#proof">3. Proof</a>
<a href="#properties">4. Properties</a>
<a href="#subsidiaries">5. Subdomains</a>
<a href="#contact">6. Contact</a>
</nav>
<p class="meta">Levkin-Company-Spec<br />Version 1.0<br />May 2026</p>
</aside>
@ -39,7 +40,8 @@
<section id="abstract">
<h2>Abstract</h2>
<p>This document describes <strong>Levkin</strong>, a Canadian software development practice specializing in production systems, business automation, and enterprise tooling. Levkin ships software that must work when nobody is watching — with error handling, documentation, and tests as non-optional requirements.</p>
<p>This document describes <strong>Levkin</strong>, a Canadian software development practice specializing in production systems, business automation, and enterprise tooling. Remote across North American and European time zones. Levkin ships software that must work when nobody is watching — with error handling, documentation, and tests as non-optional requirements.</p>
<p><span class="badge">AVAILABLE</span> Currently taking on new engagements.</p>
</section>
<section id="scope">
@ -75,7 +77,12 @@
<span class="path">/automation</span>
<span class="ext"><a href="https://auto.levkin.ca">auto.levkin.ca</a></span>
</div>
<p>n8n, Zapier, Make, GitHub Actions, webhooks, LLM integrations. Scripts that save hours; pipelines that run operations.</p>
<p>Production-ready automation — scripts, no-code workflows, CI/CD, webhooks, AI integrations. Runs while you sleep.</p>
<ul>
<li>n8n · Zapier · Make · GitHub Actions · Jenkins · Azure DevOps</li>
<li>Python · Node · Bash · macOS/iOS Shortcuts</li>
<li>OpenAI · Claude · custom LLM pipelines</li>
</ul>
</div>
<div class="endpoint">
@ -84,7 +91,11 @@
<span class="path">/caseware</span>
<span class="ext"><a href="https://caseware.levkin.ca">caseware.levkin.ca</a></span>
</div>
<p>CaseWare &amp; CaseView development, templates, release automation. 15+ years inside the ecosystem.</p>
<p>CaseWare &amp; CaseView features, client templates, release automation. 15+ years; teams at CaseWare International, MNP, JazzIt.</p>
<ul>
<li>C# · .NET · SQL Server · JavaScript automation</li>
<li>Template delivery · CI/CD · mentorship · modernization</li>
</ul>
</div>
<div class="endpoint">
@ -93,12 +104,28 @@
<span class="path">/quality-engineering</span>
<span class="ext"><a href="https://iliadobkin.com">iliadobkin.com</a></span>
</div>
<p>Test automation, CI/CD, trace-driven debugging. Contract SDET services available.</p>
<p>Senior SDET services — test automation, CI/CD pipelines, trace-driven debugging. Interactive portfolio at iliadobkin.com.</p>
</div>
</section>
<section id="proof">
<h2><span class="sec-num">3.</span> Documented Outcomes</h2>
<table class="spec-table">
<thead>
<tr><th>Metric</th><th>Value</th><th>Context</th></tr>
</thead>
<tbody>
<tr><td><code>release_time</code></td><td>8h → &lt;2min</td><td>CaseWare template pipeline rebuild</td></tr>
<tr><td><code>experience</code></td><td>15+ years</td><td>CaseWare, automation, enterprise CI/CD</td></tr>
<tr><td><code>automation_uptime</code></td><td>24/7</td><td>Pipelines monitored, not happy-path demos</td></tr>
<tr><td><code>engagement_model</code></td><td>Fixed scope</td><td>Quoted per project after discovery — no hourly surprises</td></tr>
</tbody>
</table>
<p>Engagement flow: <strong>Discover</strong> (15 min) → <strong>Design</strong> (proposal) → <strong>Ship</strong> (tested, documented) → <strong>Maintain</strong> (optional).</p>
</section>
<section id="properties">
<h2><span class="sec-num">3.</span> Required Properties</h2>
<h2><span class="sec-num">4.</span> Required Properties</h2>
<p>All Levkin deliverables MUST satisfy the following constraints unless explicitly waived in writing.</p>
<table class="spec-table">
<thead>
@ -114,7 +141,7 @@
</section>
<section id="subsidiaries">
<h2><span class="sec-num">4.</span> Registered Subdomains</h2>
<h2><span class="sec-num">5.</span> Registered Subdomains</h2>
<table class="spec-table subdomains">
<thead>
<tr><th>Host</th><th>Purpose</th><th>Status</th></tr>
@ -125,13 +152,14 @@
<tr><td><a href="https://jobs.levkin.ca">jobs.levkin.ca</a></td><td>Job orchestration (internal)</td><td><span class="badge muted">auth</span></td></tr>
<tr><td><a href="https://git.levkin.ca">git.levkin.ca</a></td><td>Source control</td><td><span class="badge">live</span></td></tr>
<tr><td><a href="https://iliadobkin.com">iliadobkin.com</a></td><td>SDET portfolio · quality engineering</td><td><span class="badge">live</span></td></tr>
<tr><td><a href="https://cal.levkin.ca/ilia/consult">cal.levkin.ca</a></td><td>Scheduling · 15 min consultation</td><td><span class="badge">live</span></td></tr>
</tbody>
</table>
</section>
<section id="contact" class="contact">
<h2><span class="sec-num">5.</span> Contact</h2>
<p>To initiate an engagement, send a <code>POST</code> to the following channel:</p>
<h2><span class="sec-num">6.</span> Contact</h2>
<p>To initiate an engagement, send a <code>POST</code> to one of the following channels:</p>
<div class="contact-grid">
<a class="contact-card" href="https://cal.levkin.ca/ilia/consult">
<span class="method post">POST</span>

View File

@ -21,31 +21,50 @@
<header class="hero">
<p class="charter">Chartered software practice · Canada</p>
<h1>Built to hold.<br /><em>Built to hand off.</em></h1>
<p class="lead">Levkin develops production systems, automation, and enterprise software for organizations that cannot afford failure in the field.</p>
<p class="lead">Levkin develops production systems, automation, and enterprise software for organizations that cannot afford failure in the field. Boutique practice — fixed scope, documented handoff, optional stewardship.</p>
<p class="avail">Currently accepting new engagements · Remote (North America &amp; Europe)</p>
</header>
<section class="proof">
<div class="proof-grid">
<div class="proof-item">
<span class="proof-val">15+</span>
<span class="proof-label">Years in enterprise software</span>
</div>
<div class="proof-item">
<span class="proof-val">8h → &lt;2m</span>
<span class="proof-label">Release cycle reduction (CaseWare)</span>
</div>
<div class="proof-item">
<span class="proof-val">24/7</span>
<span class="proof-label">Automation that runs unattended</span>
</div>
</div>
<p class="clients">Delivered for teams at CaseWare International, MNP, JazzIt, and private accounting firms.</p>
</section>
<section class="holdings">
<h2 class="section-label">Holdings</h2>
<div class="holding-grid">
<article class="holding">
<h3>Custom software</h3>
<p>Applications, APIs, and internal platforms engineered for longevity and auditability.</p>
<p>TypeScript, Python, C#/.NET — web apps, APIs, internal tools. PostgreSQL, SQL Server.</p>
</article>
<article class="holding">
<h3>Automation</h3>
<p>Operational pipelines and integrations. <a href="https://auto.levkin.ca">auto.levkin.ca</a></p>
<p>n8n, Zapier, Make, GitHub Actions, webhooks, LLM workflows. <a href="https://auto.levkin.ca">auto.levkin.ca</a></p>
</article>
<article class="holding">
<h3>CaseWare practice</h3>
<p>Fifteen years in audit and accounting systems. <a href="https://caseware.levkin.ca">caseware.levkin.ca</a></p>
<p>Features, CaseView templates, release pipelines — C#, .NET, Jenkins, Azure DevOps. <a href="https://caseware.levkin.ca">caseware.levkin.ca</a></p>
</article>
<article class="holding">
<h3>Internal operations</h3>
<p>Restricted orchestration systems. <a href="https://jobs.levkin.ca">jobs.levkin.ca</a></p>
<p>Job Ops orchestrator — per-user hiring workflows (authenticated). <a href="https://jobs.levkin.ca">jobs.levkin.ca</a></p>
</article>
<article class="holding">
<h3>Quality engineering</h3>
<p>SDET portfolio — test automation, CI/CD, trace-driven QA. <a href="https://iliadobkin.com">iliadobkin.com</a></p>
<p>Senior SDET — Playwright-style portfolio, CI/CD, trace-driven QA. <a href="https://iliadobkin.com">iliadobkin.com</a></p>
</article>
</div>
</section>
@ -63,10 +82,10 @@
<section class="process">
<h2 class="section-label">Engagement</h2>
<ol>
<li><strong>Discovery</strong>Understand constraints and stakeholders</li>
<li><strong>Proposal</strong> — Fixed scope, timeline, and cost</li>
<li><strong>Delivery</strong>Production-ready, tested, documented</li>
<li><strong>Transition</strong>Optional stewardship or clean exit</li>
<li><strong>Discovery</strong>15-minute call; honest read on whether software fits</li>
<li><strong>Proposal</strong> — Fixed scope, tools, timeline, and cost — no surprises</li>
<li><strong>Delivery</strong>Survives bad data, retries, and Monday morning</li>
<li><strong>Transition</strong>Handoff with runbooks, or ongoing monitoring</li>
</ol>
</section>

View File

@ -84,10 +84,61 @@ body {
.lead {
font-size: 1.05rem;
color: var(--muted);
max-width: 40ch;
max-width: 44ch;
line-height: 1.65;
}
.avail {
margin-top: 1rem;
font-size: 0.8rem;
letter-spacing: 0.08em;
color: var(--brass);
}
.proof {
padding-bottom: 1rem;
border-bottom: 1px solid var(--brass-dim);
margin-bottom: 0.5rem;
}
.proof-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 1rem;
margin-bottom: 1.25rem;
}
@media (max-width: 500px) {
.proof-grid { grid-template-columns: 1fr; }
}
.proof-item {
text-align: center;
padding: 1rem 0.5rem;
border: 1px solid var(--brass-dim);
}
.proof-val {
display: block;
font-family: var(--serif);
font-size: 1.5rem;
color: var(--brass);
margin-bottom: 0.25rem;
}
.proof-label {
font-size: 0.72rem;
color: var(--muted);
line-height: 1.4;
}
.clients {
font-size: 0.88rem;
color: var(--muted);
font-style: italic;
text-align: center;
}
.section-label {
font-family: var(--serif);
font-size: 0.85rem;