Compare commits

...

19 Commits

Author SHA1 Message Date
Michael Victory 88433727ed Vacation Test: three months -> one month of busy season (Mike: "3 is unreasonable" - busy-season month is the test an owner actually feels)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 07:59:49 -07:00
Michael Victory 1f0f8800a0 Stage 4: "An asset you own - and grow" - time recovery, quarterly enrichment compounding, capital accrual (platform benefit described, no landlord named)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 07:54:23 -07:00
Michael Victory 0edf8f8357 Process steps: discovery credits toward "the full cookbook" (Mike's line); stage 3 proposal -> "Writing the cookbook" (capture day + AI ingestion + quarterly-gathering; fixed-scope promise folded in)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 07:45:45 -07:00
Michael Victory 8255afd621 Discovery card: few-hours paid session, cookbook-TOC artifact, every-dollar credit (aligning with Maryanne pricing draft)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 07:33:59 -07:00
Michael Victory e240f9e079 Hero: "The cookbook doesn't retire." - Mike's pick; antithesis payoff of the retires-with-them setup
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 07:20:13 -07:00
Michael Victory ffd50485e6 Exit band: drop 'worth paying for' (negative connotation) — 'holds its value without them'; 'a new owner' → 'the next owner' (covers family/management handovers too)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 07:10:10 -07:00
Michael Victory bf0277bf22 Hero lead: fix dangling antecedent — 'Before that know-how retires with them' (echoes the h1)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 06:53:59 -07:00
Michael Victory c8f4866cd4 Cookbook pivot: value anchored on the client-owned cookbook, not systems/hosting
Hero, ownership card (You own the cookbook), how-it-works, System Care
(quarterly cookbook review), exit-value band (documented DNA / hands the
cookbook vs hands a login), fit bullet, meta/OG/schema descriptions.
Sovereignty stays as opt-in option; no-hype-no-lock-in kept verbatim.
Per SW-SITE-BLUEPRINT-PIVOT.md (Mike's register call: public word = cookbook).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 06:48:12 -07:00
Michael Victory 956f575058 OG card: add exit-value line under headline (continuity = sale value canon)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 15:30:12 -07:00
Michael Victory 54f2d86038 OG card: real logo lockup (owl + wordmark) inlined, replaces faux text wordmark
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 15:20:58 -07:00
Michael Victory 519cdd3e7c Ship Vacation Test: indexable + nav links (all pages) + sale-value band teaser + sitemap
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-07 20:44:45 -07:00
Michael Victory 4a87b94f4b Sharper capture line + Vacation Test mock (staging review)
- Capture card: "software records which buttons get pushed. We capture the
  judgment — the human part, the part that leaves with them when a veteran
  moves on — and you own it." (from the exit-advisor research doc)
- New vacation-test.html: 5-question owner check ("could your business run
  three months without them?") -> scored read (Passes the test / Runs on
  goodwill / Runs on one person) + audit link + fit-call CTA. SW idiom
  (cobalt, squared), owner register, office-not-floor. noindex + unlinked
  while it's a mock — flip robots on ship.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-07 20:39:45 -07:00
Michael Victory 2a30231b18 Add "continuity = sale value" band (exit-advisor research, owner register)
Pays off the problem seeded in the #moment band ("worth less the day you sell")
with the payoff the page never stated: captured know-how raises what the business
is worth. Owner-plain language + the three-month "Vacation Test" question; subtle
nod to the sell-side advisor referral channel. No jargon, no price, office-not-floor.
Source: SITE-REVISION-marketing-terms-2026-07-07.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-07 20:31:00 -07:00
Michael Victory 305834e273 Retire the door metaphor: "before it's gone" / "leaves with them" / "moves on"
Covers loss as well as retirement (IAS lost its most knowledgeable person).
Hero, statement body, capture card, og/twitter descriptions.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-07 07:57:56 -07:00
Michael Victory e123d4251b Copy revisions: business/team over shop, moves on, de-gate Canadian, pricing honesty
- "build it into the business"; shop -> business/team across copy (office/shop
  divide kept only in the disambiguating hero eyebrow); fab-stations aside removed
- "heads for the door" -> "moves on" (covers retirement and loss)
- Audience de-gated: "for Manufacturers" (Canadian dropped from title, descriptions,
  audienceType, results intro, OG card, llms.txt); areaServed now Canada + US;
  identity stays (Proudly Canadian, BC base, Canadian hosting option)
- Discovery session: "Fixed fee, agreed up front — and if a project follows, it
  comes off the bill"; About no longer promises free need-it-or-not judgment
  (that's the discovery session's job, recommendation yours to keep either way)
- Fit list: "or an AI pilot project ... no pilots that quietly die in IT"
- OG card re-rendered

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-07 07:47:32 -07:00
Michael Victory 33ee0adab6 Form legend to we-voice: "Anything you want us to know?"
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-07 07:15:43 -07:00
Michael Victory 0d3a802b24 Messaging pass: ShopWisdom naming, we-voice, niche clarity, sovereignty-as-option
- Canonical brand spelling: ShopWisdom (one word) everywhere; alternateName "Shop Wisdom"
- Voice: I -> we across all copy (bio in About stays Michael's first person)
- Niche: hero eyebrow "for the office that runs the shop"; work intro clarifies
  quoting/pricing/orders office-side, not fab stations; OG card "MANUFACTURERS
  WITH PRODUCTION SHOPS"
- Sovereignty de-emphasized to an option (Canadian hosting available), no longer identity
- System Care surfaced as "Continuity Partner"; service-model copy (killed "the day
  I leave" / "never calling me again" one-and-done residue)
- Veteran pronoun: he -> they
- continuity-audit page modernized: self-hosted fonts (Google Fonts CDN dropped),
  real logo in nav/footer, deferred Cal init
- OG card recolored to cobalt (was OC amber), PNG re-rendered
- Footer: "practices owned and operated by Michael Victory" (recursion fixed)
- seo-dashboard.html moved out of the public site (now internal, self-dating)
- sitemap lastmod refreshed

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-07 07:09:55 -07:00
Michael Victory 205c912e8d Fix Call buttons (tel: fallback) + replace MIT 95% stat with BCG 70%
Fix 1: Call buttons fell back to mailto: (tapping "Call" opened email) —
switch static fallback to tel:+17789856736. Display text unchanged.

Fix 2: Replace the contested MIT NANDA "95% of AI pilots fail" stat (known
methodology/COI problems) with BCG's durable 10/20/70 algorithms-tech-people
heuristic, source hyperlinked. Flows into the existing binder sentence.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 19:12:07 -07:00
Michael Victory ca611eeac7 Silence overflow:visible deprecation on replaced elements (overflow: clip)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 21:37:14 -07:00
9 changed files with 462 additions and 229 deletions
+22 -23
View File
@@ -4,10 +4,11 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>The Continuity Audit | ShopWisdom</title>
<meta name="description" content="Find out exactly where your shop is exposed. The Continuity Audit is a fixed-fee diagnostic: who holds the critical know-how, what it would cost you if they left, and what it's doing to the value of your business — with a plain-English report and roadmap you keep.">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Lora:ital,wght@0,400;0,500;1,400&family=Playfair+Display:ital,wght@0,400;0,700;1,400&display=swap">
<meta name="description" content="Find out exactly where your business is exposed. The Continuity Audit is a fixed-fee diagnostic: who holds the critical know-how, what it would cost you if they left, and what it's doing to the value of your business — with a plain-English report and roadmap you keep.">
<link rel="preload" href="assets/fonts/playfair-400.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="assets/fonts/playfair-400i.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="assets/fonts/dmsans-400.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="assets/fonts/lora-400.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="style.css">
<meta name="robots" content="index,follow">
<meta name="theme-color" content="#f7f4ef">
@@ -24,7 +25,7 @@
<meta property="og:image:alt" content="ShopWisdom — your best people are retiring. Their know-how doesn't have to.">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="The Continuity Audit | ShopWisdom">
<meta name="twitter:description" content="A fixed-fee diagnostic of where your shop is exposed when a key person leaves — with a plain-English risk report and roadmap you keep.">
<meta name="twitter:description" content="A fixed-fee diagnostic of where your business is exposed when a key person leaves — with a plain-English risk report and roadmap you keep.">
<meta name="twitter:image" content="https://shopwisdom.ca/og-card.png">
<script type="application/ld+json">
{
@@ -36,9 +37,9 @@
"name": "The Continuity Audit",
"serviceType": "Business continuity risk assessment for manufacturers",
"url": "https://shopwisdom.ca/continuity-audit.html",
"description": "A fixed-fee diagnostic for Canadian manufacturers — a few focused hours with your team to find exactly where the business is exposed when a key person leaves: who holds the critical know-how, what it would cost you if they left, and what it's doing to the value of the business — delivered as a plain-English risk report and roadmap you keep.",
"description": "A fixed-fee diagnostic for manufacturers — a few focused hours with your team to find exactly where the business is exposed when a key person leaves: who holds the critical know-how, what it would cost you if they left, and what it's doing to the value of the business — delivered as a plain-English risk report and roadmap you keep.",
"provider": { "@type": "Organization", "name": "ShopWisdom", "url": "https://shopwisdom.ca/" },
"areaServed": { "@type": "Country", "name": "Canada" }
"areaServed": [{ "@type": "Country", "name": "Canada" }, { "@type": "Country", "name": "United States" }]
},
{
"@type": "BreadcrumbList",
@@ -64,13 +65,15 @@
<header class="nav" id="nav">
<a class="nav-logo" href="index.html#top" aria-label="ShopWisdom — home">
<span class="nav-wordmark">Shop<span>Wisdom</span></span>
<img class="nav-logo-img nav-logo-light" src="assets/logo/logo-horizontal.svg" alt="ShopWisdom" width="214" height="36" />
<img class="nav-logo-img nav-logo-dark" src="assets/logo/logo-horizontal-rev.svg" alt="" aria-hidden="true" width="214" height="36" />
</a>
<nav class="nav-links-desktop" aria-label="Main">
<a href="index.html#work">The work</a>
<a href="index.html#results">Client results</a>
<a href="index.html#process">How it works</a>
<a href="index.html#about">About</a>
<a href="vacation-test.html">Vacation Test</a>
<a class="tel nav-phone" data-p1="778" data-p2="985" data-p3="6736" href="#contact" aria-label="Call ShopWisdom">778&#8209;985&#8209;OPEN</a>
<a class="nav-cta" href="https://cal.shopwisdom.ca/michaelvictory/20-min-shop-wise-meeting" data-cal-link="michaelvictory/20-min-shop-wise-meeting" data-cal-origin="https://cal.shopwisdom.ca" data-cal-config='{"theme":"light"}'>Book a call</a>
</nav>
@@ -88,6 +91,7 @@
<a href="index.html#results">Client results</a>
<a href="index.html#process">How it works</a>
<a href="index.html#about">About</a>
<a href="vacation-test.html">Vacation Test</a>
<a class="tel" data-p1="778" data-p2="985" data-p3="6736" href="#contact">Call 778&#8209;985&#8209;OPEN (6736)</a>
<a class="nav-cta" href="https://cal.shopwisdom.ca/michaelvictory/20-min-shop-wise-meeting" data-cal-link="michaelvictory/20-min-shop-wise-meeting" data-cal-origin="https://cal.shopwisdom.ca" data-cal-config='{"theme":"light"}'>Book a call</a>
</div>
@@ -97,7 +101,7 @@
<section class="hero band light" data-bg="light">
<div class="wrap hero-wrap"><div class="hero-col">
<p class="eyebrow">Start here · a fixed&#8209;fee diagnostic</p>
<h1>Find out exactly where your shop is <em>exposed.</em></h1>
<h1>Find out exactly where your business is <em>exposed.</em></h1>
<p class="lead">The Continuity Audit is the first step: a clear, honest read on whose knowledge your business depends on — and what it would cost you to lose them.</p>
<div class="actions">
<a class="btn" href="https://cal.shopwisdom.ca/michaelvictory/20-min-shop-wise-meeting" data-cal-link="michaelvictory/20-min-shop-wise-meeting" data-cal-origin="https://cal.shopwisdom.ca" data-cal-config='{"theme":"light"}'>Book a fit call — free, no pitch</a>
@@ -150,7 +154,7 @@
<ol class="steps">
<li>
<h3>A free fit call</h3>
<p>A short conversation to make sure an audit is the right starting point for you. If it isn't, I'll say so.</p>
<p>A short conversation to make sure an audit is the right starting point for you. If it isn't, we'll say so.</p>
</li>
<li>
<h3>Time with your team</h3>
@@ -172,11 +176,11 @@
<div class="wrap narrow reveal">
<p class="eyebrow">Start a conversation</p>
<h2>See where you <em>stand.</em></h2>
<p>Start with a free fit call. Describe your shop — even roughly — and we'll figure out whether an audit makes sense for you.</p>
<p>Start with a free fit call. Describe your business — even roughly — and we'll figure out whether an audit makes sense for you.</p>
<p class="actions center">
<a class="btn" href="https://cal.shopwisdom.ca/michaelvictory/20-min-shop-wise-meeting" data-cal-link="michaelvictory/20-min-shop-wise-meeting" data-cal-origin="https://cal.shopwisdom.ca" data-cal-config='{"theme":"light"}'>Book a fit call</a>
<a class="btn link" href="mailto:michael@opencommunications.consulting?subject=Continuity%20Audit%20—%20Shop%20Wisdom">Email Michael</a>
<a class="btn link tel" data-p1="778" data-p2="985" data-p3="6736" href="mailto:michael@opencommunications.consulting">Call 778&#8209;985&#8209;OPEN (6736)</a>
<a class="btn link" href="mailto:michael@opencommunications.consulting?subject=Continuity%20Audit%20—%20ShopWisdom">Email Michael</a>
<a class="btn link tel" data-p1="778" data-p2="985" data-p3="6736" href="tel:+17789856736">Call 778&#8209;985&#8209;OPEN (6736)</a>
</p>
<p class="promise">The first call is free and commits you to nothing.</p>
</div>
@@ -186,24 +190,19 @@
<footer class="site-footer" data-bg="dark">
<div class="footer-bg" aria-hidden="true">
<svg class="footer-bg-img" viewBox="0 0 1267.12 317" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
<path d="M158.5,0C70.96,0,0,70.96,0,158.5s70.96,158.5,158.5,158.5,158.5-70.96,158.5-158.5S246.04,0,158.5,0ZM158.42,210.08c-28.44,0-51.5-23.06-51.5-51.5s23.06-51.5,51.5-51.5,51.5,23.06,51.5,51.5-23.06,51.5-51.5,51.5Z"/>
<path d="M475.45.08c-87.54,0-158.5,70.96-158.5,158.5,0,1.27.02,2.54.05,3.81v154.87h106.87v-158.6h0c0-28.44,23.06-51.5,51.5-51.5s51.5,23.06,51.5,51.5-23.06,51.5-51.5,51.5c-6.49,0-12.7-1.21-18.42-3.41v109.24c6.07.71,12.24,1.08,18.5,1.08,87.54,0,158.5-70.96,158.5-158.5S562.99.08,475.45.08Z"/>
<path d="M791.96,210.25c-28.44,0-51.5-23.06-51.5-51.5s23.06-51.5,51.5-51.5,51.5,23.06,51.5,51.5c0,6.49-1.21,12.7-3.41,18.42h109.41c.71-6.07,1.08-12.24,1.08-18.5C950.54,71.13,879.57.17,792.04.17s-158.5,70.96-158.5,158.5,70.96,158.5,158.5,158.5c69.48,0,128.51-44.71,149.91-106.92h-149.99Z"/>
<path d="M1109.31,0h0S950.12,0,950.12,0v159.19h0c.35,81.64,62.41,148.7,141.95,156.95v-156.13c0-9.14,7.41-16.54,16.54-16.54s16.54,7.41,16.54,16.54v156.13c79.76-8.27,141.96-75.69,141.96-157.64C1267.12,71.19,1196.53.38,1109.31,0Z"/>
</svg>
<img class="footer-bg-img" src="assets/logo/footer-watermark.svg" alt="" aria-hidden="true" />
</div>
<div class="footer-content">
<div class="footer-block">
<p class="footer-wordmark">Shop<span>Wisdom</span></p>
<img class="footer-logo-img" src="assets/logo/logo-horizontal-rev.svg" alt="ShopWisdom" width="95" height="16" />
<nav class="footer-links" aria-label="Footer">
<a href="index.html#work">The work</a>
<a href="index.html#results">Client results</a>
<a href="index.html#process">How it works</a>
<a href="https://www.opencommunications.consulting/">Open Communications</a>
</nav>
<p class="footer-note">Built with care and AI · Work owned by its clients · Hosted in Beauharnois, Québec — your data stays in Canada.</p>
<p class="footer-copy">Shop Wisdom and Open Communications are practices of Open Communications, owned and operated by Michael Victory · British Columbia, Canada</p>
<p class="footer-note">Built with care and AI · Work owned by its clients · Proudly Canadian.</p>
<p class="footer-copy">ShopWisdom and Open Communications are practices owned and operated by Michael Victory · British Columbia, Canada</p>
</div>
</div>
</footer>
@@ -261,7 +260,7 @@
<!-- Cal.com booking embed -->
<script>
(function (C, A, L) { let p = function (a, ar) { a.q.push(ar); }; let d = C.document; C.Cal = C.Cal || function () { let cal = C.Cal; let ar = arguments; if (!cal.loaded) { cal.ns = {}; cal.q = cal.q || []; d.head.appendChild(d.createElement("script")).src = A; cal.loaded = true; } if (ar[0] === L) { const api = function () { p(api, arguments); }; const namespace = ar[1]; api.q = api.q || []; if (typeof namespace === "string") { cal.ns[namespace] = cal.ns[namespace] || api; p(cal.ns[namespace], ar); p(cal, ["initNamespace", namespace]); } else p(cal, ar); return; } p(cal, ar); }; })(window, "https://cal.shopwisdom.ca/embed/embed.js", "init");
Cal("init", { origin: "https://cal.shopwisdom.ca" });
(function(){var d=false;function go(){if(d)return;d=true;Cal("init",{origin:"https://cal.shopwisdom.ca"});}var ev=["pointerdown","mousemove","touchstart","scroll","keydown"];function on(){go();ev.forEach(function(e){window.removeEventListener(e,on);});}ev.forEach(function(e){window.addEventListener(e,on,{passive:true});});})();
</script>
<!-- Motion: reveal-on-scroll + stagger + open-o + persistent CTA. Gated on html.has-motion. -->
+69 -57
View File
@@ -3,8 +3,8 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Shop Wisdom | Keep What Your Best People Know — for Canadian Manufacturers</title>
<meta name="description" content="Your best people are retiring. I help Canadian manufacturers capture the know-how that lives in a few heads, build it into systems the whole shop can run on, and stay on to keep it that way. You own everything — and it stays in Canada.">
<title>ShopWisdom | Keep What Your Best People Know — for Manufacturers</title>
<meta name="description" content="Your best people are retiring. We help manufacturers with production shops capture the know-how the business runs on — quoting, pricing, orders — and write it into a cookbook your company owns outright — then build the systems to run it. Any platform, no lock-in, no hype.">
<link rel="preload" href="assets/fonts/playfair-400.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="assets/fonts/playfair-400i.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="assets/fonts/dmsans-400.woff2" as="font" type="font/woff2" crossorigin>
@@ -17,7 +17,7 @@
<meta property="og:type" content="website">
<meta property="og:site_name" content="ShopWisdom">
<meta property="og:title" content="ShopWisdom — keep what your best people know">
<meta property="og:description" content="Your best people are retiring. I help Canadian manufacturers capture the know-how that lives in a few heads and build it into systems the whole shop can run on — before it walks out the door.">
<meta property="og:description" content="Your best people are retiring. We capture the know-how your business runs on — quoting, pricing, orders — and write it into a cookbook your company owns outright — then build the systems to run it. Before it's gone.">
<meta property="og:url" content="https://shopwisdom.ca/">
<meta property="og:locale" content="en_CA">
<meta property="og:image" content="https://shopwisdom.ca/og-card.png">
@@ -26,7 +26,7 @@
<meta property="og:image:alt" content="ShopWisdom — your best people are retiring. Their know-how doesn't have to.">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="ShopWisdom — keep what your best people know">
<meta name="twitter:description" content="Knowledge continuity for Canadian manufacturers — before it walks out the door.">
<meta name="twitter:description" content="Knowledge continuity for manufacturers — before it's gone.">
<meta name="twitter:image" content="https://shopwisdom.ca/og-card.png">
<script type="application/ld+json">
{
@@ -41,10 +41,10 @@
"logo": { "@type": "ImageObject", "url": "https://shopwisdom.ca/og-card.png", "width": 1200, "height": 630 },
"image": "https://shopwisdom.ca/og-card.png",
"slogan": "Keep what your best people know.",
"description": "Knowledge continuity for Canadian manufacturers: Shop Wisdom captures the know-how that lives in a retiring veteran's head and builds it into systems the whole shop can run on — before it walks out the door.",
"description": "Knowledge continuity for manufacturers: ShopWisdom captures the know-how that lives in a retiring veteran's head — quoting, pricing, orders, customer history — and builds it into systems the whole business can run on. Clients own their cookbook and everything built from it; platform-independent by design; Canadian hosting available end-to-end.",
"email": "michael@opencommunications.consulting",
"telephone": "+1-778-985-6736",
"areaServed": { "@type": "Country", "name": "Canada" },
"areaServed": [{ "@type": "Country", "name": "Canada" }, { "@type": "Country", "name": "United States" }],
"address": { "@type": "PostalAddress", "addressRegion": "British Columbia", "addressCountry": "CA" },
"founder": { "@id": "https://shopwisdom.ca/#michael" },
"parentOrganization": { "@type": "Organization", "name": "Open Communications", "url": "https://www.opencommunications.consulting/" },
@@ -59,15 +59,15 @@
"image": "https://shopwisdom.ca/og-card.png",
"serviceType": "Knowledge continuity and succession planning for manufacturers",
"provider": { "@id": "https://shopwisdom.ca/#organization" },
"areaServed": { "@type": "Country", "name": "Canada" },
"audience": { "@type": "BusinessAudience", "audienceType": "Canadian building-materials manufacturers with a retiring key person" },
"areaServed": [{ "@type": "Country", "name": "Canada" }, { "@type": "Country", "name": "United States" }],
"audience": { "@type": "BusinessAudience", "audienceType": "Building-materials manufacturers with a retiring key person" },
"hasOfferCatalog": {
"@type": "OfferCatalog",
"name": "Continuity services",
"itemListElement": [
{ "@type": "Offer", "itemOffered": { "@type": "Service", "name": "The Continuity Audit", "url": "https://shopwisdom.ca/continuity-audit.html", "description": "A fixed-fee diagnostic — a few focused hours with your team to find where the business is exposed (who holds what, what it costs you if they leave, the effect on the value of the business), delivered as a plain-English risk report and roadmap." } },
{ "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Knowledge Capture & Systems", "description": "Sit with your best people, draw out the judgment in their heads, and build it into documented, trained systems the whole crew can run — without first cleaning up decades of spreadsheets." } },
{ "@type": "Offer", "itemOffered": { "@type": "Service", "name": "System Care — Continuity Partner", "description": "A recurring retainer: tools hosted on a Canadian sovereign server with regular check-ups (quarterly, monthly, or weekly), new tech folded in, and the next key person captured before they leave. You own everything." } }
{ "@type": "Offer", "itemOffered": { "@type": "Service", "name": "System Care — Continuity Partner", "description": "A recurring retainer — your continuity partner: tools hosted and kept healthy with regular check-ups (quarterly, monthly, or weekly), new tech folded in, and the next key person captured before they leave. You own the cookbook and everything built from it; Canadian hosting available." } }
]
}
},
@@ -93,7 +93,7 @@
"@type": "WebPage",
"@id": "https://shopwisdom.ca/#webpage",
"url": "https://shopwisdom.ca/",
"name": "Shop Wisdom | Keep What Your Best People Know — for Canadian Manufacturers",
"name": "ShopWisdom | Keep What Your Best People Know — for Manufacturers",
"isPartOf": { "@id": "https://shopwisdom.ca/#website" },
"about": { "@id": "https://shopwisdom.ca/#organization" },
"primaryImageOfPage": "https://shopwisdom.ca/og-card.png",
@@ -116,6 +116,7 @@
<a href="#results">Client results</a>
<a href="#process">How it works</a>
<a href="#about">About</a>
<a href="vacation-test.html">Vacation Test</a>
<a class="tel nav-phone" data-p1="778" data-p2="985" data-p3="6736" href="#contact" aria-label="Call ShopWisdom">778&#8209;985&#8209;OPEN</a>
<a class="nav-cta" href="https://cal.shopwisdom.ca/michaelvictory/20-min-shop-wise-meeting" data-cal-link="michaelvictory/20-min-shop-wise-meeting" data-cal-origin="https://cal.shopwisdom.ca" data-cal-config='{"theme":"light"}'>Book a call</a>
</nav>
@@ -133,6 +134,7 @@
<a href="#results">Client results</a>
<a href="#process">How it works</a>
<a href="#about">About</a>
<a href="vacation-test.html">Vacation Test</a>
<a class="tel" data-p1="778" data-p2="985" data-p3="6736" href="#contact">Call 778&#8209;985&#8209;OPEN (6736)</a>
<a class="nav-cta" href="https://cal.shopwisdom.ca/michaelvictory/20-min-shop-wise-meeting" data-cal-link="michaelvictory/20-min-shop-wise-meeting" data-cal-origin="https://cal.shopwisdom.ca" data-cal-config='{"theme":"light"}'>Book a call</a>
</div>
@@ -142,9 +144,9 @@
<section class="hero band light" data-bg="light">
<video class="hero-video" autoplay muted loop playsinline preload="none" poster="assets/hero/hero-poster.jpg" aria-hidden="true" data-src-desktop="assets/hero/hero.mp4" data-src-mobile="assets/hero/hero-mobile.mp4"></video>
<div class="wrap hero-wrap"><div class="hero-col">
<p class="eyebrow">Knowledge continuity · for Canadian manufacturers</p>
<p class="eyebrow">Knowledge continuity · for the office that runs the shop</p>
<h1>Your best people are retiring. Their know&#8209;how doesn't <em>have to.</em></h1>
<p class="lead">I don't just install AI. Before your best people walk out the door, I turn the pricing instincts, the fixes, the hard&#8209;won judgment in their heads into systems your whole shop can run on — and I stay on to keep it that way.</p>
<p class="lead">We don't just install AI. Before that know&#8209;how retires with them, we turn the pricing instincts, the fixes, the hard&#8209;won judgment in their heads into a cookbook your business owns — and systems your whole crew can run on. The tools will change. The cookbook doesn&#8217;t retire. We stay on to keep it true.</p>
<div class="actions">
<a class="btn" href="https://cal.shopwisdom.ca/michaelvictory/20-min-shop-wise-meeting" data-cal-link="michaelvictory/20-min-shop-wise-meeting" data-cal-origin="https://cal.shopwisdom.ca" data-cal-config='{"theme":"light"}'>Book a fit call — free, no pitch</a>
<a class="btn link" href="#results">See client results</a>
@@ -156,30 +158,30 @@
<section class="band dark statement" data-bg="dark" id="moment">
<div class="motif" aria-hidden="true"></div>
<div class="wrap narrow reveal">
<p class="eyebrow">The moment your shop is in</p>
<h2 class="statement-line">The real work runs on what lives in two or three people's heads. And those heads are <em>heading for the door.</em></h2>
<p>The veteran who knows how a quote really comes together, which customer needs what, the pricing call nobody else can make — it's never been written down. Here's the part nobody likes to say out loud: a business that lives in a few people's heads is worth less the day you go to sell it. Buyers see the risk even when you don't. So do your best customers — the first time a job goes sideways after someone walks out the door.</p>
<p class="eyebrow">The moment your business is in</p>
<h2 class="statement-line">The real work runs on what lives in two or three people's heads. And those heads are <em>moving on.</em></h2>
<p>The veteran who knows how a quote really comes together, which customer needs what, the pricing call nobody else can make — it's never been written down. Here's the part nobody likes to say out loud: a business that lives in a few people's heads is worth less the day you go to sell it. Buyers see the risk even when you don't. So do your best customers — the first time a job goes sideways after someone moves on.</p>
<p class="emph">This isn't a technology problem. It's a continuity problem — and it's fixable.</p>
</div>
</section>
<section class="band light" data-bg="light">
<div class="wrap reveal">
<p class="eyebrow">How I work</p>
<h2>I work differently — <em>on purpose.</em></h2>
<p class="eyebrow">How we work</p>
<h2>We work differently — <em>on purpose.</em></h2>
<p class="section-intro">The default — automation to cut headcount, AI as a sales pitch, delivered through tools you'll never own — leaves owners anxious and good people sidelined. That's not this.</p>
<div class="cards four stagger">
<div class="card">
<h3>People stay essential</h3>
<p>Used well, modern tools make your people more capable, not less needed. I design systems that respect the judgment your team has earned.</p>
<p>Used well, modern tools make your people more capable, not less needed. We design systems that respect the judgment your team has earned.</p>
</div>
<div class="card">
<h3>Wisdom over speed</h3>
<p>Wisdom is a slower technology than intelligence. I work at the pace good work needs, not the pace the hype cycle demands.</p>
<p>Wisdom is a slower technology than intelligence. We work at the pace good work needs, not the pace the hype cycle demands.</p>
</div>
<div class="card">
<h3>You own everything</h3>
<p>Every system I build is yours — hosted on Canadian soil, fully documented. Your data never leaves the country, and nothing locks you in.</p>
<h3>You own the cookbook</h3>
<p>Everything we capture — how you quote, price, decide, and keep customers — goes into a written cookbook that belongs to your company, in plain language your next hire can follow. The systems we build from it are yours too, free of lock&#8209;in and hosted where you want (Canadian end&#8209;to&#8209;end if that matters to you). But the cookbook is the asset: any tool, any time, anyone can cook from it. Software comes and goes. The cookbook stays on your shelf.</p>
</div>
<div class="card">
<h3>One person, accountable</h3>
@@ -192,31 +194,31 @@
<section class="band light" data-bg="light" id="work">
<div class="wrap reveal">
<p class="eyebrow">The work</p>
<h2>Keep what they know. <em>Then</em> build it into the shop.</h2>
<p class="section-intro">Three steps: find out where you're exposed, fix it, and keep it handled. Every engagement starts by understanding your actual problem before I suggest a thing.</p>
<h2>Keep what they know. <em>Then</em> build it into the business.</h2>
<p class="section-intro">Three steps: find out where you're exposed, fix it, and keep it handled. We work where the know&#8209;how lives — quoting, pricing, orders, customer history — the office side that runs the place. Every engagement starts by understanding your actual problem before we suggest a thing.</p>
<div class="cards stagger">
<div class="card">
<span class="step-k">Start here · Diagnose</span>
<h3>The Continuity Audit</h3>
<p>I spend a few focused hours with your team — the people who run the quotes, pricing, and orders — and find exactly where you're exposed: who holds what, what it would cost you if they left tomorrow, and what it's doing to the value of your business. You get a plain&#8209;English risk report and a roadmap. Fixed fee. Nothing to install.</p>
<p class="outcome">You walk away knowing where your shop is exposed — and what to do about it.</p>
<p>We spend a few focused hours with your team — the people who run the quotes, pricing, and orders — and find exactly where you're exposed: who holds what, what it would cost you if they left tomorrow, and what it's doing to the value of your business. You get a plain&#8209;English risk report and a roadmap. Fixed fee. Nothing to install.</p>
<p class="outcome">You walk away knowing where your business is exposed — and what to do about it.</p>
<a class="card-link" href="continuity-audit.html">How the audit works →</a>
</div>
<div class="card">
<span class="step-k">Fix · Capture &amp; build</span>
<h3>Capture it — and make it usable</h3>
<p>I sit down with your best people, draw out what's in their heads, and build it into systems the whole crew can actually use — documented, trained, and built to last. You don't need to clean up thirty years of spreadsheets first: that mess <strong>is</strong> the knowledge, and waiting for perfect data is how it gets lost. The modern tools do the heavy lifting so it's fast and affordable — but a screen-recorder only captures the clicks. The part that matters is human, and it's the part that walks out the door: getting your veteran to open up, and capturing the judgment behind the work, not just the steps.</p>
<p>We sit down with your best people, draw out what's in their heads, and build it into systems the whole crew can actually use — documented, trained, and built to last. You don't need to clean up thirty years of spreadsheets first: that mess <strong>is</strong> the knowledge, and waiting for perfect data is how it gets lost. The modern tools do the heavy lifting so it's fast and affordable — but software records which buttons get pushed. We capture the judgment — the human part, the part that leaves with them when a veteran moves on — and write it into a cookbook your company owns. From there we build the tools your crew actually uses. Change platforms in five years? The cookbook comes with you and the new tools get built from the same book.</p>
<p class="outcome">The day your best person retires, the work doesn't stop.</p>
</div>
<div class="card feature">
<span class="step-k">Keep it handled · Recurring</span>
<span class="card-tag">System Care</span>
<h3>Your tools, kept running — on Canadian soil</h3>
<p>Everything I build lives in your own space on my Canadian sovereign server — hosting, infrastructure, and running costs handled. From there I keep it healthy with regular check&#8209;ups — quarterly, monthly, or weekly, depending on how hard you lean on it — and flag the new tech worth folding in, so it never quietly falls behind. When a key person heads for the door, I help capture the next one too. You own everything; walk away anytime and it all comes with you.</p>
<p class="outcome">The system stays alive, current, and improving — never frozen the day I leave.</p>
<span class="card-tag">System Care · Continuity Partner</span>
<h3>Your tools, kept running — and never falling behind</h3>
<p>Think of it as a continuity partner on retainer. Each quarter we open your cookbook and check it against how the work really gets done now — what changed, what a new hire tripped on, what the next retirement will take with it — and we keep the tools built from it healthy, hosted and running (Canadian servers if that matters to your business), on a cadence that fits how hard you lean on them: quarterly, monthly, or weekly. When the next key person moves on, their chapter gets written too. You own the cookbook and everything built from it; walk away anytime and it all comes with you.</p>
<p class="outcome">The system stays alive, current, and improving — with a partner who already knows how your business thinks.</p>
</div>
</div>
<p class="reassure">Everything I build comes with full documentation and a handover session. You'll never be dependent on me to keep it running.</p>
<p class="reassure">Everything we build comes with full documentation and a handover session. Independence is built in — System Care is there when you'd rather have a partner on call.</p>
</div>
</section>
@@ -224,7 +226,7 @@
<div class="wrap reveal">
<p class="eyebrow">Client results</p>
<h2>What "build it into a system" <em>actually</em> looks like.</h2>
<p class="section-intro">Real projects for real Canadian shops — the before and after of taking knowledge that lived in a spreadsheet (and one person's head) and turning it into a tool the whole team can use.</p>
<p class="section-intro">Real projects for real manufacturers — the before and after of taking knowledge that lived in a spreadsheet (and one person's head) and turning it into a tool the whole team can use.</p>
<div class="cases">
<div class="case">
@@ -278,13 +280,23 @@
</div>
</section>
<section class="band alt" data-bg="light">
<div class="wrap narrow reveal">
<p class="eyebrow">Why it's worth more</p>
<h2>Captured know&#8209;how isn't just safer. It's worth <em>more.</em></h2>
<p>When the person who knows how you really quote, price, and keep customers is the one closest to retirement, that knowledge is worth money — and right now it isn't written down, and it isn't yours to keep. We turn it into a cookbook the business owns — the documented DNA of how the place actually works — before it moves on with someone. Buyers, and the advisors who help owners sell, look for exactly this: documented, transferable know&#8209;how is what turns a company that depends on one person into one that holds its value without them. A business that can hand the next owner the cookbook is worth more than one that hands over a login.</p>
<p class="emph">Could the office run through a month of your busy season without your most knowledgeable person? Buyers ask exactly that — and when the answer is &ldquo;yes, it's captured, and it's ours,&rdquo; your business is worth more.</p>
<p><a class="card-link" href="vacation-test.html">Take the two&#8209;minute Vacation Test &#8594;</a></p>
</div>
</section>
<section class="band light" data-bg="light">
<div class="wrap narrow reveal">
<p class="eyebrow">The honest part</p>
<h2>The hard part isn't the paperwork. <em>It's people.</em></h2>
<p>Most attempts at this quietly stall — MIT's 2025 "State of AI in Business" study found 95% of company AI projects deliver no measurable return, and the tools usually aren't the problem. Most shops have already learned it the hard way: there's a binder somewhere — half&#8209;finished, on a shelf, out of date the week it was printed. It didn't fail because the writing was bad. It failed because getting a veteran to hand over what he knows, and getting a shop to actually change how it works, is a people problem, not a paperwork one. Your best people aren't holding back to be difficult — they're protecting the thing that's made them irreplaceable for thirty years.</p>
<p>Most attempts at this quietly stall — and rarely because of the tools. <a href="https://www.bcg.com/featured-insights/the-leaders-guide-to-transforming-with-ai" target="_blank" rel="noopener">BCG's research</a> across hundreds of AI programs puts the recipe at 10% algorithms, 20% technology, and 70% people and process. The 70% is the part almost everyone skips. Most teams have already learned it the hard way: there's a binder somewhere — half&#8209;finished, on a shelf, out of date the week it was printed. It didn't fail because the writing was bad. It failed because getting a veteran to hand over what they know, and getting a team to actually change how it works, is a people problem, not a paperwork one. Your best people aren't holding back to be difficult — they're protecting the thing that's made them irreplaceable for thirty years.</p>
<div class="handoff">
<p>That human side is exactly what my other practice, <a href="https://www.opencommunications.consulting/">Open Communications →</a>, is built for. Same business, same straight talk — one side works on the shop, the other works with the crew.</p>
<p>That human side is exactly what our sister practice, <a href="https://www.opencommunications.consulting/">Open Communications →</a>, is built for. Same business, same straight talk — one side builds the systems, the other works with the people.</p>
</div>
</div>
</section>
@@ -297,19 +309,19 @@
<ol class="steps">
<li>
<h3>A free fit call</h3>
<p>A short conversation to see if there's a match. You describe what's slowing you down; I give you an honest read on whether I can help. No pitch, no obligation. If it's not a fit, I'll tell you and point you somewhere that is.</p>
<p>A short conversation to see if there's a match. You describe what's slowing you down; we give you an honest read on whether we can help. No pitch, no obligation. If it's not a fit, we'll tell you and point you somewhere that is.</p>
</li>
<li>
<h3>A paid discovery session</h3>
<p>If there's a fit, a focused 90&#8209;minute working meeting where we map the real problem, decide what's worth solving first, and outline what a solution looks like. You leave with a written recommendation whether or not we work together further.</p>
<p>If there's a fit, a focused few hours working together where we map how work really moves through your business — who holds what, where the judgment sits, what would break first if someone left. You leave with a written map and recommendation, yours to keep whether or not we go further: the first rough table of contents of your cookbook. Fixed fee, agreed up front — and if a project follows, every dollar of it comes off the full cookbook.</p>
</li>
<li>
<h3>A fixed&#8209;scope proposal</h3>
<p>You know exactly what gets built, what it costs, and what you own at the end — before any work begins. Written in plain language, not jargon. Scope changes are a conversation, not a surprise invoice.</p>
<h3>Writing the cookbook</h3>
<p>Once scope and price are agreed — written in plain language, before any work begins — we spend a day or so with the people who hold the know&#8209;how, drilling into the recipes: how a quote really comes together, what gets checked before a job ships, the calls only experience knows how to make. The methods, the ingredients, the why behind each one. Then the cookbook is loaded into your AI tools, so the systems we build cook from the real thing — and quietly gather what changes between quarterly reviews. Scope changes along the way are a conversation, not a surprise invoice.</p>
</li>
<li>
<h3>A deliverable you own</h3>
<p>The work moves in short cycles with regular review. At the end it's hosted, documented, and yours — update it, share it, use it without ever calling me again. Unless you want to: ongoing support is available, never required.</p>
<h3>An asset you own — and grow</h3>
<p>The work moves in short cycles with regular review, and what lands is yours: hosted, documented, owned. The first thing you notice is time — the systems take the repetitive work, and hours come back every week. Then the compounding starts: each quarterly review folds what changed into the cookbook, so the book gets richer, the systems get sharper, and the know&#8209;how keeps accruing to the business instead of to any one person's head. Run it yourself, or keep us on call through System Care — a choice, never a requirement. Either way, you're not buying a tool that depreciates. You're building an asset that doesn't.</p>
</li>
</ol>
</div>
@@ -320,22 +332,22 @@
<p class="eyebrow">About</p>
<h2>The person you'll <em>actually</em> be working with.</h2>
<p class="about-name">Michael Victory — ShopWisdom</p>
<p>I've spent 25 years inside small and mid&#8209;sized businesses — including 13 building long&#8209;term partnerships across a dealer network, and the last several years helping non&#8209;technical people use modern tools well. I know what it looks like when good people are slowed down by tools that were never built for how they work — and what it costs a shop when the person who knew how everything ran finally retires.</p>
<p>I've spent 25 years inside small and mid&#8209;sized businesses — including 13 building long&#8209;term partnerships across a dealer network, and the last several years helping non&#8209;technical people use modern tools well. I know what it looks like when good people are slowed down by tools that were never built for how they work — and what it costs a business when the person who knew how everything ran finally retires.</p>
<p>I started this practice because I kept seeing the same gap: the distance between what a business actually needs and what technology vendors were willing to build honestly and affordably. Most consultants either over&#8209;engineer the solution or under&#8209;explain the cost. I've been on the receiving end of both.</p>
<p>I use modern tools — including AI — to build faster and cheaper than traditional development, and I'll always tell you how something was built and what it can't do. No mystification, no inflated promises. And I'll tell you if you don't need me. That conversation costs nothing and saves everyone time.</p>
<p>I use modern tools — including AI — to build faster and cheaper than traditional development, and I'll always tell you how something was built and what it can't do. No mystification, no inflated promises. And I'd rather tell you that you don't need me than sell you something you won't use — that judgment is what the discovery session is for, and the written recommendation is yours to keep either way.</p>
</div>
</section>
<section class="band light" data-bg="light" id="fit">
<div class="wrap narrow reveal">
<p class="eyebrow">Honest about fit</p>
<h2>I'm <em>not</em> for everyone.</h2>
<h2>We're <em>not</em> for everyone.</h2>
<p class="section-intro">ShopWisdom is probably not the right fit if you're:</p>
<ul class="notfor">
<li><strong>Looking to cut headcount through automation.</strong> AI used to make people redundant isn't what I do.</li>
<li><strong>Shopping for a black box to rent forever.</strong> You own everything I build — hosted in your own space on Canadian soil, yours to take anytime. I'll keep it running and current if you want that (it's called System Care), but it's a choice, never a leash. I don't do lock&#8209;in.</li>
<li><strong>Shopping for a Super Bowl AI strategy.</strong> No hype, no transformation slides, no buzzwords. Just specific work with measurable outcomes.</li>
<li><strong>Facing people problems that run deeper than systems.</strong> Tools amplify what's already there. If trust is missing, software won't fix it — though that's exactly what my other practice, <a href="https://www.opencommunications.consulting/">Open Communications</a>, takes on.</li>
<li><strong>Looking to cut headcount through automation.</strong> AI used to make people redundant isn't what we do.</li>
<li><strong>Shopping for a black box to rent forever.</strong> You own the cookbook and everything we build from it — yours to take anytime. We'll keep it running and current if you want that (that's System Care), but it's a choice, never a leash. We don't do lock&#8209;in.</li>
<li><strong>Shopping for a Super Bowl AI strategy or an AI pilot project.</strong> No hype, no transformation slides, no buzzwords — and no pilots that quietly die in IT. Just specific work with measurable outcomes.</li>
<li><strong>Facing people problems that run deeper than systems.</strong> Tools amplify what's already there. If trust is missing, software won't fix it — though that's exactly what our sister practice, <a href="https://www.opencommunications.consulting/">Open Communications</a>, takes on.</li>
</ul>
<p>If any of that is you, we're probably not a fit — and being honest now saves us both time.</p>
</div>
@@ -344,13 +356,13 @@
<section class="band light contact" data-bg="light" id="contact">
<div class="wrap narrow reveal">
<p class="eyebrow">Start a conversation</p>
<h2>Your know&#8209;how built this shop. Let's make sure it <em>stays</em> in it.</h2>
<h2>Your know&#8209;how built this business. Let's make sure it <em>stays</em> in it.</h2>
<p>No pitch, no proposal until we've had a real conversation. Describe the friction — even roughly. The more context you share, the more useful our first call will be.</p>
<form class="lf" data-endpoint="https://n8n.shopwisdom.ca/webhook/lead" data-source="shopwisdom" novalidate>
<div class="lf-progress" aria-hidden="true"><span class="lf-dot is-active"></span><span class="lf-dot"></span><span class="lf-dot"></span></div>
<fieldset class="lf-step is-active" data-step="1">
<legend class="lf-q">What's the situation in your shop?</legend>
<legend class="lf-q">What's the situation in your business?</legend>
<div class="lf-choices">
<label class="lf-choice"><input type="radio" name="topic" value="A key person is retiring soon" required> A key person is retiring soon</label>
<label class="lf-choice"><input type="radio" name="topic" value="Know-how lives in a few heads"> Know-how lives in just a few heads</label>
@@ -360,26 +372,26 @@
<div class="lf-nav"><button type="button" class="btn lf-next" data-next>Continue →</button></div>
</fieldset>
<fieldset class="lf-step" data-step="2">
<legend class="lf-q">Anything you want me to know? <span class="lf-opt">(optional)</span></legend>
<legend class="lf-q">Anything you want us to know? <span class="lf-opt">(optional)</span></legend>
<textarea class="lf-input" name="detail" rows="3" placeholder="Even a rough sentence helps."></textarea>
<div class="lf-nav"><button type="button" class="btn link lf-back" data-back>← Back</button><button type="button" class="btn lf-next" data-next>Continue →</button></div>
</fieldset>
<fieldset class="lf-step" data-step="3">
<legend class="lf-q">Where do I reach you?</legend>
<legend class="lf-q">Where do we reach you?</legend>
<input class="lf-input" type="text" name="name" placeholder="Your name" required autocomplete="name">
<input class="lf-input" type="email" name="email" placeholder="Email" required autocomplete="email">
<input class="lf-input" type="tel" name="phone" placeholder="Phone (optional)" autocomplete="tel">
<input type="text" name="company_website" class="lf-hp" tabindex="-1" autocomplete="off" aria-hidden="true">
<div class="lf-nav"><button type="button" class="btn link lf-back" data-back>← Back</button><button type="submit" class="btn lf-submit">Send it →</button></div>
<p class="lf-err" hidden>Hmm — that didn't go through. Please <a href="mailto:michael@opencommunications.consulting">email me directly</a> and I'll get right back to you.</p>
<p class="lf-err" hidden>Hmm — that didn't go through. Please <a href="mailto:michael@opencommunications.consulting">email us directly</a> and we'll get right back to you.</p>
</fieldset>
<div class="lf-done" hidden><p class="lf-done-msg">Got it — thanks. I read every message personally and usually reply within a business day.</p></div>
<div class="lf-done" hidden><p class="lf-done-msg">Got it — thanks. Michael reads every message personally and usually replies within a business day.</p></div>
</form>
<p class="lf-alt">Prefer to reach out directly?</p>
<p class="actions center">
<a class="btn link" href="mailto:michael@opencommunications.consulting?subject=Fit%20call%20—%20Shop%20Wisdom">Email Michael</a>
<a class="btn link tel" data-p1="778" data-p2="985" data-p3="6736" href="mailto:michael@opencommunications.consulting">Call 778&#8209;985&#8209;OPEN (6736)</a>
<a class="btn link" href="mailto:michael@opencommunications.consulting?subject=Fit%20call%20—%20ShopWisdom">Email Michael</a>
<a class="btn link tel" data-p1="778" data-p2="985" data-p3="6736" href="tel:+17789856736">Call 778&#8209;985&#8209;OPEN (6736)</a>
</p>
<p class="promise">The first call is free and commits you to nothing.</p>
</div>
@@ -400,8 +412,8 @@
<a href="#process">How it works</a>
<a class="footer-oc-logo" href="https://www.opencommunications.consulting/" aria-label="Open Communications"><img src="assets/oc/oc-logo-wh.svg" alt="Open Communications"></a>
</nav>
<p class="footer-note">Built with care and AI · Work owned by its clients · Hosted in Beauharnois, Québec — your data stays in Canada.</p>
<p class="footer-copy">Shop Wisdom and Open Communications are practices of Open Communications, owned and operated by Michael Victory · British Columbia, Canada</p>
<p class="footer-note">Built with care and AI · Work owned by its clients · Proudly Canadian.</p>
<p class="footer-copy">ShopWisdom and Open Communications are practices owned and operated by Michael Victory · British Columbia, Canada</p>
</div>
</div>
</footer>
+5 -5
View File
@@ -1,18 +1,18 @@
# ShopWisdom
> Shop Wisdom helps Canadian manufacturers keep the know-how that lives in a retiring veteran's head. We find where the business is exposed when a key person leaves, capture what your best people know, and build it into systems the whole shop can run on — hosted on Canadian soil and owned by you. Shop Wisdom is the systems side of Open Communications.
> ShopWisdom helps manufacturers with production shops keep the know-how the business runs on — quoting, pricing, orders, customer history. We work on the office side that runs the place, not the fab stations. We find where the business is exposed when a key person leaves, capture what your best people know, and build it into systems the whole company can run on — owned by you, with no lock-in. ShopWisdom is the systems side of Open Communications.
## What we do
- [The Continuity Audit](https://shopwisdom.ca/continuity-audit.html): a fixed-fee diagnostic of where the business is exposed when a key person leaves — who holds what, what it costs you if they go, and the effect on the value of the business — delivered as a plain-English risk report and roadmap.
- Knowledge Capture & Systems: sit with your best people, draw out the judgment in their heads, and build it into documented, trained systems the whole crew can run. No need to clean up decades of spreadsheets first.
- System Care (Continuity Partner): a recurring retainer that keeps your tools running on a Canadian sovereign server, captures the next key person before they leave, and folds in new tech worth using.
- System Care (Continuity Partner): a recurring retainer — a continuity partner who keeps your tools running and current, captures the next key person before they leave, and folds in new tech worth using. Hosting and infrastructure handled; Canadian hosting available end-to-end if data residency matters to your business.
## Who it's for
Canadian building-materials and manufacturing businesses — often selling through dealer or distributor networks — where revenue rides on one or two senior people who are near retirement, with no successor lined up.
Building-materials and manufacturing businesses — often selling through dealer or distributor networks — where revenue rides on one or two senior people who are near retirement, with no successor lined up.
## Key facts
- Founder and lead practitioner: Michael Victory. The person you talk to is the person doing the work.
- Based in British Columbia, Canada; serves clients Canada-wide.
- Everything built for you, you own — hosted in Canada (data sovereignty), no lock-in, cancel anytime.
- Based in British Columbia, Canada; serves clients across North America.
- Everything built for you, you own — no lock-in, cancel anytime. Canadian data residency available if it matters to your business.
- The human / change-management side is the sister practice, [Open Communications](https://www.opencommunications.consulting/).
- Contact: michael@opencommunications.consulting · 778-985-OPEN (6736)
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 409 KiB

After

Width:  |  Height:  |  Size: 71 KiB

+27 -9
View File
@@ -1,23 +1,41 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 630" width="1200" height="630">
<!-- ShopWisdom — social share card (1200x630). Rasterize to og-card.png to enable. -->
<rect width="1200" height="630" fill="#faf7f2"/>
<rect x="0" y="0" width="1200" height="6" fill="#e89b1c"/>
<rect x="0" y="0" width="1200" height="6" fill="#1660c4"/>
<!-- wordmark -->
<text x="80" y="120" font-family="'DM Sans', system-ui, sans-serif" font-size="34" font-weight="700" letter-spacing="1">
<tspan fill="#0f1729">Shop</tspan><tspan fill="#e89b1c">Wisdom</tspan>
</text>
<!-- logo + wordmark lockup (inlined from assets/logo/logo-horizontal.svg, 400px wide) -->
<g transform="translate(78,64) scale(0.2476)">
<ellipse fill="#231f20" cx="120.77" cy="103.08" rx="120.77" ry="103.08" transform="translate(-.63 .75) rotate(-.35)"/>
<path d="M241.54,104.7c-.05-11.69-2.19-22.67-6.39-32.94-1.63-3.98-4.46-8.85-8.51-14.61-11.04-15.74-24.77-22.8-44.24-26.68-7.19-1.43-13.81-1.42-19.85.05-6.56,1.59-11.32,2.32-16.29,4.62-9.26,4.31-17.18,9.52-23.78,15.65-.87.82-2.25.73-3-.2-1.47-1.78-3.17-3.36-5.13-4.71-11.72-8.18-24.64-13.41-38.73-15.7-4.8-.78-8.7-.99-11.71-.64-2.15.25-6,.92-11.58,2.03-2.98.6-6.13,1.78-9.46,3.55-5.58,2.97-8.55,4.59-8.91,4.87-5.66,4.36-9.22,7.18-10.67,8.46-10.52,9.25-17.21,20.84-20.06,34.74C.91,94.63-.17,103.72.02,110.46c.05,1.7.48,5.78,1.27,12.24,2.15,13.31,6.1,25.64,11.88,36.99,7.62,15,16.82,28.24,27.59,39.73,3.86,4.12,9.73,9.65,17.61,16.61,5.24,4.63,11.67,9.37,19.27,14.22,13.72,8.75,25.12,15.36,40.36,20.44.49.17,1.01.26,1.53.26h3.54c.4,0,.81-.07,1.2-.18,6.02-1.78,10.94-3.66,14.75-5.65,5.57-2.91,13.58-7.18,19.94-11.39,19.64-13.01,38.17-26.17,52.09-45.02,7.44-10.08,13.91-20.62,19.38-31.62,5.46-10.97,8.99-22.76,10.59-35.39.36-4.31.53-9.98.51-16.99ZM227.37,137.2c-3.76,11.24-7.74,20.46-11.94,27.66-6.3,10.78-14.14,20.68-23.55,29.72-8.3,7.99-15.48,15.35-24.47,21.83-10.98,7.92-22.78,14.53-35.41,19.82-5.49,2.3-8.53,3.51-9.13,3.63-4.01.77-7.32-.95-11.03-2.52-11.14-4.75-18.2-8.09-21.2-10.04-12.58-8.18-24.52-17.29-35.8-27.32-1.3-1.16-5.98-6.4-14.05-15.74-5.89-6.83-10.09-12.5-12.61-17.04-7.21-13.03-12.28-25.22-15.21-36.55-5.85-22.69-3.3-48.23,10.24-67.69,7.77-11.16,18.6-18.35,32.08-21.01,24.64-4.83,45.58,3.92,63.45,20.6,1,.94,2.46,1.22,3.75.73.25-.09.53-.31.87-.65,12.94-13.15,28.16-20.45,45.63-21.88,7.69-.62,14.35-.12,20.01,1.53,10.43,3.03,22.27,9.83,28.74,18.52,15.87,21.32,17.85,51.75,9.63,76.4Z"/>
<path fill="#fff" d="M189.01,42.29c-5.66-1.65-12.32-2.16-20.01-1.53-17.47,1.43-32.69,8.73-45.63,21.88-.34.34-.62.56-.87.65-1.29.49-2.74.21-3.75-.73-17.87-16.69-38.82-25.43-63.45-20.6-13.48,2.65-24.31,9.85-32.08,21.01-13.54,19.46-16.09,45.01-10.24,67.69,2.93,11.33,8,23.52,15.21,36.55,2.51,4.54,6.71,10.21,12.61,17.04,8.07,9.34,12.75,14.58,14.05,15.74,11.28,10.03,23.22,19.13,35.8,27.32,3,1.95,10.07,5.29,21.2,10.04,3.71,1.57,7.02,3.29,11.03,2.52.6-.12,3.64-1.33,9.13-3.63,12.63-5.29,24.43-11.9,35.41-19.82,8.99-6.48,16.17-13.84,24.47-21.83,9.41-9.04,17.25-18.94,23.55-29.72,4.2-7.19,8.18-16.42,11.94-27.66,8.22-24.65,6.24-55.08-9.63-76.4-6.47-8.69-18.3-15.49-28.74-18.52ZM103.1,166.32l-.2.09c-1.82.9-4.03.14-4.92-1.69-5.53-11.36-8.87-21.32-10.03-29.92-.16-1.08-1.14-1.83-2.22-1.67-6.6.99-12.98.83-19.17-.46-13.24-2.77-18.97-13-19.49-25.73-.07-1.46-.91-2.76-2.21-3.42l-3.85-1.94c-.44-.23-.81-.6-1.03-1.04-4.27-8.66,16.68-10.24,21.71-10.22,16.09,0,26.65,7.09,31.69,21.28.79,2.22,1.5,5.67,2.11,10.35,1.8,13.7,4.57,26.72,9.6,39.15.81,1.99-.07,4.27-1.99,5.2ZM129.77,191.68c-3.42,6.43-5.81,10.91-7.17,13.45-.42.78-1.5.83-2,.12-3.77-5.37-7.13-11.3-10.06-17.82-3.29-7.34-3.36-16.66,4.7-21.07,5.36-2.94,11.1-.4,14.97,3.5,6.1,6.13,3.3,14.79-.44,21.83ZM202.52,98.66c-.7,3.36-2.82,4.18-5.87,4.93-1.29.31-2.16,1.51-2.09,2.84.51,10.25-4.06,20.59-13.49,24.75-7.02,3.11-15.83,2.24-24.13,1.82-2.07-.1-3.24.77-3.51,2.61-.77,5.27-6.3,32.69-13.46,31-3.27-.77-4.24-2.78-2.95-6.07,5.5-14.05,8.73-27.47,9.67-40.26.09-1.31.85-4.38,2.25-9.18,6.27-21.42,31.43-24.53,49.16-16.95,1.91.82,3.29,1.85,4.15,3.11.29.42.39.92.29,1.4Z"/>
<path d="M95.49,121.96c-.61-4.68-1.31-8.13-2.11-10.35-5.03-14.19-15.6-21.28-31.69-21.28-5.03-.01-25.98,1.56-21.71,10.22.22.44.59.81,1.03,1.04l3.85,1.94c1.3.66,2.15,1.96,2.21,3.42.52,12.73,6.24,22.96,19.49,25.73,6.19,1.29,12.58,1.44,19.17.46,1.08-.17,2.07.59,2.22,1.67,1.16,8.6,4.5,18.56,10.03,29.92.88,1.83,3.1,2.59,4.92,1.69l.2-.09c1.93-.94,2.8-3.21,1.99-5.2-5.03-12.44-7.8-25.46-9.6-39.15Z"/>
<path d="M198.09,94.15c-17.73-7.58-42.89-4.47-49.16,16.95-1.4,4.8-2.16,7.87-2.25,9.18-.94,12.79-4.16,26.21-9.67,40.26-1.29,3.29-.31,5.31,2.95,6.07,7.17,1.69,12.7-25.73,13.46-31,.27-1.85,1.44-2.72,3.51-2.61,8.3.42,17.11,1.29,24.13-1.82,9.43-4.16,14-14.5,13.49-24.75-.06-1.33.81-2.52,2.09-2.84,3.04-.75,5.16-1.57,5.87-4.93.1-.48,0-.99-.29-1.4-.86-1.26-2.24-2.29-4.15-3.11Z"/>
<path d="M115.24,166.36c-8.05,4.41-7.99,13.74-4.7,21.07,2.93,6.52,6.28,12.45,10.06,17.82.51.72,1.59.66,2-.12,1.35-2.54,3.75-7.02,7.17-13.45,3.75-7.04,6.54-15.7.44-21.83-3.88-3.9-9.61-6.44-14.97-3.5Z"/>
<path fill="#1660c4" d="M778.37,19.25h51.38l10.58,153.23h.6l19.34-153.23h54.4l13.6,153.23h.6l15.72-153.23h44.43l-28.11,215.19h-58.63l-19.34-165.92h-.6l-17.83,165.92h-57.72l-28.41-215.19Z"/>
<path fill="#1660c4" d="M991.75,49.77v-30.53h47.75v30.53h-47.75ZM991.75,234.43V61.56h47.75v172.87h-47.75Z"/>
<path fill="#1660c4" d="M1120.8,122.61v-18.74c0-7.25-2.42-13-9.97-13s-9.97,5.74-9.97,13c0,29.62,66.79,24.18,66.79,80.39,0,34.15-20.55,52.29-60.45,52.29-30.53,0-54.1-11.79-54.1-42.92v-27.5h47.75v25.99c0,7.25,2.42,13,9.97,13s9.97-5.74,9.97-13c0-41.1-67.7-28.41-67.7-84.62,0-34.45,24.48-48.05,55.91-48.05,36.27,0,59.54,14.21,59.54,43.22v19.95h-47.75Z"/>
<path fill="#1660c4" d="M1249.55,212.67h-.6c-2.42,17.23-15.41,23.88-32.94,23.88-26.29,0-34.15-22.36-34.15-43.22v-95.5c0-22.06,9.07-38.38,33.25-38.38,17.53,0,29.62,9.97,33.85,25.69h.6V19.25h47.75v215.19h-47.75v-21.76ZM1229.6,185.47c0,7.56,4.23,11.79,9.97,11.79s9.97-4.23,9.97-11.79v-74.95c0-7.56-4.23-11.79-9.97-11.79s-9.97,4.23-9.97,11.79v74.95Z"/>
<path fill="#1660c4" d="M1426.05,190.61c0,32.04-27.2,45.94-57.73,45.94s-57.73-13.9-57.73-45.94v-82.51c0-31.13,20.55-48.66,57.73-48.66s57.73,17.53,57.73,48.66v82.51ZM1358.35,193.03c0,6.35,2.42,12.09,9.97,12.09s9.97-5.74,9.97-12.09v-90.06c0-6.35-2.42-12.09-9.97-12.09s-9.97,5.74-9.97,12.09v90.06Z"/>
<path fill="#1660c4" d="M1485.89,84.53h.6c4.84-16.02,15.72-25.09,33.24-25.09s27.81,8.46,31.13,25.09h.6c2.72-15.41,16.02-25.09,32.94-25.09,23.88,0,31.43,15.41,31.43,36.57v138.42h-45.94v-119.98c0-7.56-.6-15.72-9.67-15.72s-9.37,8.16-9.37,15.72v119.98h-45.94v-119.98c0-7.56-.6-15.72-9.67-15.72s-9.37,8.16-9.37,15.72v119.98h-45.94V61.56h45.94v22.97Z"/>
<path fill="#231f20" d="M340.59,94.5v-30.22c0-10.58-3.32-16.62-13.3-16.62-10.88,0-13.3,6.04-13.3,16.62,0,36.27,76.77,46.84,76.77,113.34,0,40.5-21.76,59.24-63.77,59.24-32.04,0-63.17-10.88-63.17-48.05v-39.89h50.17v37.17c0,12.69,3.93,16.32,13.3,16.32,8.16,0,13.3-3.63,13.3-16.32,0-48.66-76.77-49.57-76.77-119.08,0-38.99,25.69-53.8,64.38-53.8,33.85,0,62.56,11.48,62.56,47.45v33.85h-50.17Z"/>
<path fill="#231f20" d="M404.05,232.62V17.43h47.75v63.77h.6c4.84-15.11,16.32-23.57,33.85-23.57,24.18,0,33.24,16.02,33.24,41.1v133.89h-47.75v-116.96c0-9.37-.3-18.74-9.97-18.74s-9.97,9.37-9.97,18.74v116.96h-47.75Z"/>
<path fill="#231f20" d="M648.25,188.8c0,32.04-27.2,45.94-57.73,45.94s-57.73-13.9-57.73-45.94v-82.51c0-31.13,20.55-48.66,57.73-48.66s57.73,17.53,57.73,48.66v82.51ZM580.55,191.22c0,6.35,2.42,12.09,9.97,12.09s9.97-5.74,9.97-12.09v-90.06c0-6.35-2.42-12.09-9.97-12.09s-9.97,5.74-9.97,12.09v90.06Z"/>
<path fill="#231f20" d="M709.3,82.41h.6c2.42-18.13,15.41-24.78,32.94-24.78,26.29,0,34.15,22.36,34.15,44.13v95.5c0,21.16-9.07,37.48-33.24,37.48-17.53,0-29.62-9.07-33.85-24.78h-.6v61.35h-47.75V59.75h47.75v22.67ZM709.3,183.66c0,7.56,4.23,11.79,9.97,11.79s9.97-4.23,9.97-11.79v-74.95c0-7.56-4.23-11.79-9.97-11.79s-9.97,4.23-9.97,11.79v74.95Z"/>
</g>
<!-- eyebrow -->
<text x="82" y="280" font-family="'DM Sans', system-ui, sans-serif" font-size="21" letter-spacing="4" fill="#7a6f5d">FOR CANADIAN MANUFACTURERS &amp; PRODUCTION SHOPS</text>
<text x="82" y="280" font-family="'DM Sans', system-ui, sans-serif" font-size="21" letter-spacing="4" fill="#7a6f5d">FOR MANUFACTURERS WITH PRODUCTION SHOPS</text>
<!-- headline -->
<text x="78" y="362" font-family="'DM Serif Display', Georgia, 'Times New Roman', serif" font-size="66" fill="#0f1729">Your best people are retiring.</text>
<text x="78" y="442" font-family="'DM Serif Display', Georgia, 'Times New Roman', serif" font-size="66" font-style="italic" fill="#0f1729">Their know-how <tspan fill="#e89b1c">doesn&#8217;t have to.</tspan></text>
<text x="78" y="442" font-family="'DM Serif Display', Georgia, 'Times New Roman', serif" font-size="66" font-style="italic" fill="#0f1729">Their know-how <tspan fill="#1660c4">doesn&#8217;t have to.</tspan></text>
<!-- value line (continuity = sale value) -->
<text x="80" y="508" font-family="'DM Sans', system-ui, sans-serif" font-size="25" letter-spacing="0.5" fill="#7a6f5d">Captured, owned know-how — worth more to your team, and to a buyer.</text>
<!-- footer band -->
<rect x="0" y="558" width="1200" height="72" fill="#0f1729"/>
<circle cx="94" cy="595" r="7" fill="#e89b1c"/>
<circle cx="94" cy="595" r="7" fill="#1660c4"/>
<text x="116" y="603" font-family="'DM Sans', system-ui, sans-serif" font-size="22" letter-spacing="2" fill="#faf7f2">shopwisdom.ca</text>
<text x="1120" y="602" text-anchor="end" font-family="'DM Sans', system-ui, sans-serif" font-size="17" letter-spacing="3" fill="#9aa3b2">HOSTED IN CANADA</text>
<text x="1120" y="602" text-anchor="end" font-family="'DM Sans', system-ui, sans-serif" font-size="17" letter-spacing="3" fill="#9aa3b2">YOU OWN EVERYTHING</text>
</svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 8.8 KiB

-108
View File
@@ -1,108 +0,0 @@
<!DOCTYPE html>
<html lang="en-CA">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>SEO &amp; Performance — ShopWisdom + Open Communications</title>
<meta name="robots" content="noindex,nofollow">
<meta name="theme-color" content="#0f1729">
<style>
:root{
--bg:#f7f4ef; --surface:#ffffff; --surface2:#efebe3; --ink:#0f1729; --muted:#5f6675;
--line:rgba(15,23,41,.12); --ok-bg:#e1f5ee; --ok:#0f6e56; --warn-bg:#faeeda; --warn:#854f0b; --accent:#1660c4;
}
@media (prefers-color-scheme:dark){
:root{ --bg:#0f1422; --surface:#171d2e; --surface2:#1e2740; --ink:#eef1f6; --muted:#9aa3b4;
--line:rgba(247,244,239,.14); --ok-bg:#0e3a30; --ok:#7fe0c2; --warn-bg:#3d2f12; --warn:#f0c97a; --accent:#7fb0ef; }
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.6;-webkit-text-size-adjust:100%}
.wrap{max-width:760px;margin:0 auto;padding:28px 18px 56px}
h1{font-size:1.5rem;font-weight:600;margin:0 0 4px}
.sub{color:var(--muted);font-size:.85rem;margin:0 0 22px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin:0 0 14px}
.ch{font-weight:600;font-size:1rem;margin:0 0 2px}
.csub{color:var(--muted);font-size:.8rem;margin:0 0 14px}
.head{display:flex;align-items:center;gap:9px;margin-bottom:14px;flex-wrap:wrap}
.dot{width:9px;height:9px;border-radius:50%;background:#1d9e75;flex:none}
.nm{font-weight:600}.nm a{color:inherit;text-decoration:none;border-bottom:1px solid var(--line)}
.tag{color:var(--muted);font-size:.78rem}
.metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mc{background:var(--surface2);border-radius:10px;padding:12px 14px}
.mc .l{font-size:.78rem;color:var(--muted)}
.mc .v{font-size:1.5rem;font-weight:600;margin-top:2px}
.mc .u{font-size:.8rem;color:var(--muted);font-weight:400}
.meta{font-size:.78rem;color:var(--muted);margin-top:12px;display:flex;flex-wrap:wrap;gap:6px 14px}
.meta .pass{color:var(--ok);font-weight:600}
.pills{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:6px}
.pill{font-size:.78rem;padding:5px 10px;border-radius:8px;background:var(--ok-bg);color:var(--ok);font-weight:500}
.wrow{display:flex;gap:10px;padding:11px 0;border-top:1px solid var(--line);font-size:.86rem}
.wrow .ic{color:var(--warn);font-weight:700;flex:none}
.wrow b{font-weight:600}
ul.fixes{margin:6px 0 0;padding-left:18px}
ul.fixes li{margin:7px 0;font-size:.9rem}
.btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.btn{display:inline-block;font-size:.82rem;padding:9px 14px;border-radius:9px;border:1px solid var(--line);color:var(--accent);text-decoration:none;background:var(--surface2)}
.foot{color:var(--muted);font-size:.76rem;margin-top:20px;text-align:center;line-height:1.7}
</style>
</head>
<body>
<div class="wrap">
<h1>SEO &amp; performance</h1>
<p class="sub">shopwisdom.ca · opencommunications.consulting — live snapshot, 25 Jun 2026</p>
<div class="card">
<div class="head"><span class="dot"></span><span class="nm"><a href="https://shopwisdom.ca/">Shop Wisdom</a></span><span class="tag">shopwisdom.ca · live</span></div>
<div class="metrics">
<div class="mc"><div class="l">Response</div><div class="v">514 <span class="u">ms</span></div></div>
<div class="mc"><div class="l">Page weight</div><div class="v">37 <span class="u">KB</span></div></div>
</div>
<div class="meta"><span>1 H1</span><span>11 images</span><span>6 JS · 2 CSS</span><span class="pass">11 pass · 4 to improve</span></div>
</div>
<div class="card">
<div class="head"><span class="dot"></span><span class="nm"><a href="https://www.opencommunications.consulting/">Open Communications</a></span><span class="tag">opencommunications.consulting · live</span></div>
<div class="metrics">
<div class="mc"><div class="l">Response</div><div class="v">675 <span class="u">ms</span></div></div>
<div class="mc"><div class="l">Page weight</div><div class="v">31 <span class="u">KB</span></div></div>
</div>
<div class="meta"><span>1 H1</span><span>4 images</span><span>7 JS · 2 CSS</span><span class="pass">11 pass · 4 to improve</span></div>
</div>
<div class="card">
<div class="ch">SEO &amp; GEO signals</div>
<div class="csub">Read live from each site's HTML — same template, so these hold for both.</div>
<div class="pills">
<span class="pill">✓ HTTPS</span><span class="pill">✓ canonical</span><span class="pill">✓ index,follow</span>
<span class="pill">✓ lang en-CA</span><span class="pill">✓ single H1</span><span class="pill">✓ Open Graph</span>
<span class="pill">✓ Twitter card</span><span class="pill">✓ JSON-LD @graph</span><span class="pill">✓ sitemap.xml</span>
<span class="pill">✓ robots.txt</span><span class="pill">✓ llms.txt</span>
</div>
<div class="wrow"><span class="ic">!</span><div><b>Title runs long</b> — SW 76 / OC 77 chars. Google trims ~60, so the tail is cut in results.</div></div>
<div class="wrow"><span class="ic">!</span><div><b>Meta description runs long</b> — SW 237 chars (OC similar). Trims ~155 in search snippets.</div></div>
<div class="wrow"><span class="ic">!</span><div><b>No FAQ / FAQPage schema</b> — the top remaining win for rich results + AI answer citations.</div></div>
<div class="wrow"><span class="ic">!</span><div><b>Fonts render-blocking</b> — loaded from Google's CDN; self-hosting helps speed and sovereignty.</div></div>
</div>
<div class="card">
<div class="ch">Performance</div>
<div class="csub" style="margin-bottom:10px">Both are static HTML on the OVH box — fast first byte (SW 514 ms · OC 675 ms) and light pages (≤37 KB). The one real lever is the render-blocking Google-Fonts request. Full Core Web Vitals weren't captured here (PageSpeed rate-limited) — run them live:</div>
<div class="btns">
<a class="btn" href="https://pagespeed.web.dev/report?url=https%3A%2F%2Fshopwisdom.ca%2F">PageSpeed: Shop Wisdom →</a>
<a class="btn" href="https://pagespeed.web.dev/report?url=https%3A%2F%2Fwww.opencommunications.consulting%2F">PageSpeed: OC →</a>
</div>
</div>
<div class="card">
<div class="ch">Top fixes (both sites)</div>
<ul class="fixes">
<li><b>Add FAQ + FAQPage schema</b> — biggest remaining lever for rich results and AI citations.</li>
<li><b>Self-host the fonts</b> — removes the render-blocking Google request (speed + sovereignty).</li>
<li><b>Trim titles &amp; meta descriptions</b> — title under 60 chars, description under 155.</li>
</ul>
</div>
<p class="foot">Live data read from each site's served HTML + server response time.<br>Ask Claude to "refresh the SEO dashboard" to regenerate. Private page — not indexed.</p>
</div>
</body>
</html>
+8 -2
View File
@@ -2,13 +2,19 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://shopwisdom.ca/</loc>
<lastmod>2026-06-25</lastmod>
<lastmod>2026-07-07</lastmod>
<changefreq>monthly</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://shopwisdom.ca/continuity-audit.html</loc>
<lastmod>2026-06-25</lastmod>
<lastmod>2026-07-07</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://shopwisdom.ca/vacation-test.html</loc>
<lastmod>2026-07-07</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
+1
View File
@@ -28,6 +28,7 @@
}
* { box-sizing: border-box; }
img, video, canvas { overflow: clip; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
[id] { scroll-margin-top: 84px; }
+305
View File
@@ -0,0 +1,305 @@
<!DOCTYPE html>
<html lang="en-CA">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#f7f4ef">
<title>The Vacation Test — Could Your Business Run Without Them? | ShopWisdom</title>
<meta name="description" content="A 2-minute owner check: could your business run a month of its busy season without its most knowledgeable person? Buyers ask exactly that. Find out where you stand — and what it means for what your business is worth.">
<link rel="preload" href="assets/fonts/playfair-400.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="assets/fonts/playfair-400i.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="assets/fonts/dmsans-400.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="assets/fonts/lora-400.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="style.css">
<meta name="robots" content="index,follow">
<link rel="canonical" href="https://shopwisdom.ca/vacation-test.html">
<link rel="icon" href="favicon.svg" type="image/svg+xml">
<meta property="og:type" content="website">
<meta property="og:site_name" content="ShopWisdom">
<meta property="og:title" content="The Vacation Test — could your business run a month of busy season without them?">
<meta property="og:description" content="Buyers ask exactly that. A 2-minute owner check on how much of your business lives in one person's head — and what that means for what it's worth.">
<meta property="og:url" content="https://shopwisdom.ca/vacation-test.html">
<meta property="og:image" content="https://shopwisdom.ca/og-card.png">
<style>
/* ---- Vacation Test: scoped quiz UI, SW palette (squared idiom) ---- */
.vt-wrap { max-width: 760px; }
.vt-card { background: var(--paper-2); border: 1px solid var(--line); border-radius: 3px;
padding: clamp(1.6rem, 4vw, 2.6rem); margin-top: 2.2rem; }
.vt-progress { font-family: 'DM Sans', sans-serif; font-size: 0.7rem; font-weight: 700;
letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent-deep); margin: 0 0 0.4rem; }
.vt-bar { height: 4px; background: rgba(15,23,41,0.08); overflow: hidden; margin: 0 0 1.6rem; }
.vt-bar i { display: block; height: 100%; width: 0; background: var(--accent); transition: width .4s ease; }
.vt-q { font-family: 'Playfair Display', Georgia, serif; font-size: clamp(1.4rem, 3vw, 1.9rem);
line-height: 1.18; color: var(--ink); margin: 0 0 1.3rem; }
.vt-options { display: grid; gap: 0.7rem; }
.vt-opt { display: block; width: 100%; text-align: left; font-family: 'Lora', Georgia, serif;
font-size: 1.02rem; color: var(--ink); background: #fff; border: 1px solid var(--line);
border-radius: 2px; padding: 0.95rem 1.1rem; cursor: pointer;
transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.vt-opt:hover { border-color: var(--accent); transform: translateY(-1px); }
.vt-opt:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.vt-nav { display: flex; align-items: center; gap: 1.2rem; margin-top: 1.4rem; min-height: 1.5rem; }
.vt-back { font-family: 'DM Sans', sans-serif; font-size: 0.78rem; letter-spacing: 0.04em;
color: var(--ink-soft); background: none; border: none; cursor: pointer; padding: 0; }
.vt-back:hover { color: var(--ink); }
.vt-back[hidden] { display: none; }
/* result */
.vt-result { animation: vtFade .5s ease; }
@keyframes vtFade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.vt-badge { font-family: 'DM Sans', sans-serif; font-size: 0.7rem; font-weight: 700;
letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent-deep); margin: 0 0 0.5rem; }
.vt-result h2 { margin: 0 0 0.6rem; }
.vt-result .vt-read { color: var(--ink-soft); }
.vt-tips { list-style: none; padding: 0; margin: 1.2rem 0 0; }
.vt-tips li { position: relative; padding: 0.6rem 0 0.6rem 1.8rem; line-height: 1.5; color: var(--ink); }
.vt-tips li + li { border-top: 1px solid var(--line); }
.vt-tips li::before { content: "→"; position: absolute; left: 0; top: 0.6rem; color: var(--accent-deep); font-weight: 700; }
.vt-result-cta { margin-top: 1.8rem; display: flex; flex-wrap: wrap; gap: 14px 22px; align-items: center; }
.vt-retake { font-family: 'DM Sans', sans-serif; font-size: 0.78rem; letter-spacing: 0.04em;
color: var(--ink-soft); background: none; border: none; cursor: pointer; padding: 0; text-decoration: underline; }
.vt-line { font-family: 'Playfair Display', serif; font-style: italic; color: var(--ink-soft); margin-top: 1.4rem; }
.vt-result .vt-line a, .vt-read a { color: var(--accent-deep); }
@media (prefers-reduced-motion: reduce) { .vt-opt, .vt-bar i, .vt-result { transition: none; animation: none; } }
</style>
<script>document.documentElement.className += ' has-motion';</script>
</head>
<body>
<header class="nav" id="nav">
<a class="nav-logo" href="index.html#top" aria-label="ShopWisdom — home">
<img class="nav-logo-img nav-logo-light" src="assets/logo/logo-horizontal.svg" alt="ShopWisdom" width="214" height="36" />
<img class="nav-logo-img nav-logo-dark" src="assets/logo/logo-horizontal-rev.svg" alt="" aria-hidden="true" width="214" height="36" />
</a>
<nav class="nav-links-desktop" aria-label="Main">
<a href="index.html#work">The work</a>
<a href="index.html#results">Client results</a>
<a href="index.html#process">How it works</a>
<a href="index.html#about">About</a>
<a href="vacation-test.html">Vacation Test</a>
<a class="tel nav-phone" data-p1="778" data-p2="985" data-p3="6736" href="index.html#contact" aria-label="Call ShopWisdom">778&#8209;985&#8209;OPEN</a>
<a class="nav-cta" href="https://cal.shopwisdom.ca/michaelvictory/20-min-shop-wise-meeting" data-cal-link="michaelvictory/20-min-shop-wise-meeting" data-cal-origin="https://cal.shopwisdom.ca" data-cal-config='{"theme":"light"}'>Book a call</a>
</nav>
<button class="nav-toggle" id="navToggle" aria-label="Open menu" aria-expanded="false">
<svg class="nav-toggle-icon" viewBox="0 0 32 32" aria-hidden="true">
<line class="bar bar-top" x1="6" y1="10" x2="26" y2="10"/>
<line class="bar bar-mid" x1="6" y1="16" x2="26" y2="16"/>
<line class="bar bar-bot" x1="6" y1="22" x2="26" y2="22"/>
<circle class="o-ring" cx="16" cy="16" r="9"/>
</svg>
</button>
</header>
<div class="nav-mobile-menu" id="navMobileMenu">
<a href="index.html#work">The work</a>
<a href="index.html#results">Client results</a>
<a href="index.html#process">How it works</a>
<a href="index.html#about">About</a>
<a href="vacation-test.html">Vacation Test</a>
<a class="tel" data-p1="778" data-p2="985" data-p3="6736" href="index.html#contact">Call 778&#8209;985&#8209;OPEN (6736)</a>
<a class="nav-cta" href="https://cal.shopwisdom.ca/michaelvictory/20-min-shop-wise-meeting" data-cal-link="michaelvictory/20-min-shop-wise-meeting" data-cal-origin="https://cal.shopwisdom.ca" data-cal-config='{"theme":"light"}'>Book a call</a>
</div>
<main id="top">
<section class="band light" data-bg="light" style="padding-top: calc(var(--nav-h) + 72px);">
<div class="wrap vt-wrap">
<p class="eyebrow">The Vacation Test · a 2-minute owner check</p>
<h1>Could your business run a month of busy season <em>without them?</em></h1>
<p class="lead">Buyers ask exactly that question. The Vacation Test is a quick, honest read on how much of your business lives in one person's head — and what that means for what it's worth. Five questions, honest answers, no email required.</p>
<div class="vt-card" id="vtCard">
<!-- quiz -->
<div id="vtQuiz">
<p class="vt-progress" id="vtProgress">Question 1 of 5</p>
<div class="vt-bar"><i id="vtBar"></i></div>
<p class="vt-q" id="vtQuestion"></p>
<div class="vt-options" id="vtOptions"></div>
<div class="vt-nav"><button class="vt-back" id="vtBack" type="button" hidden>← Back</button></div>
</div>
<!-- result -->
<div id="vtResult" class="vt-result" hidden></div>
</div>
<p class="vt-line">When the answer is &ldquo;yes — it's captured, and it's ours,&rdquo; your business is worth more.</p>
</div>
</section>
</main>
<footer class="site-footer" data-bg="dark">
<div class="footer-bg" aria-hidden="true">
<img class="footer-bg-img" src="assets/logo/footer-watermark.svg" alt="" aria-hidden="true" />
</div>
<div class="footer-content">
<div class="footer-block">
<img class="footer-logo-img" src="assets/logo/logo-horizontal-rev.svg" alt="ShopWisdom" width="95" height="16" />
<nav class="footer-links" aria-label="Footer">
<a href="index.html#work">The work</a>
<a href="index.html#results">Client results</a>
<a href="index.html#process">How it works</a>
<a href="https://www.opencommunications.consulting/">Open Communications</a>
</nav>
<p class="footer-note">Built with care and AI · Work owned by its clients · Proudly Canadian.</p>
<p class="footer-copy">ShopWisdom and Open Communications are practices owned and operated by Michael Victory · British Columbia, Canada</p>
</div>
</div>
</footer>
<script>
(function () {
for (var l of document.querySelectorAll('a.tel')) {
l.setAttribute('href', 'tel:+1' + l.dataset.p1 + l.dataset.p2 + l.dataset.p3);
}
var toggle = document.getElementById('navToggle');
var menu = document.getElementById('navMobileMenu');
function closeMenu() {
menu.classList.remove('open'); toggle.classList.remove('open');
toggle.setAttribute('aria-label', 'Open menu'); toggle.setAttribute('aria-expanded', 'false');
}
if (toggle && menu) {
toggle.addEventListener('click', function () {
var open = !menu.classList.contains('open');
menu.classList.toggle('open', open); toggle.classList.toggle('open', open);
toggle.setAttribute('aria-label', open ? 'Close menu' : 'Open menu');
toggle.setAttribute('aria-expanded', open ? 'true' : 'false');
updateNavTheme();
});
for (var a of menu.querySelectorAll('a')) { a.addEventListener('click', closeMenu); }
}
var nav = document.getElementById('nav');
var sections = Array.prototype.slice.call(document.querySelectorAll('[data-bg]'));
function darkBehind(y) {
for (var i = 0; i < sections.length; i++) {
var r = sections[i].getBoundingClientRect();
if (r.top <= y && r.bottom > y) return sections[i].dataset.bg === 'dark';
}
return false;
}
function updateNavTheme() {
nav.classList.toggle('scrolled', window.scrollY > 24);
var nr = nav.getBoundingClientRect();
nav.classList.toggle('on-dark', darkBehind((nr.top + nr.bottom) / 2));
if (menu && menu.classList.contains('open')) {
var links = menu.querySelectorAll('a');
var probe = links.length ? links[links.length - 1].getBoundingClientRect().bottom : (nav.getBoundingClientRect().bottom);
menu.classList.toggle('on-dark', darkBehind(probe));
}
}
updateNavTheme();
window.addEventListener('scroll', function () { window.requestAnimationFrame(updateNavTheme); }, { passive: true });
window.addEventListener('resize', updateNavTheme);
})();
</script>
<!-- Cal.com booking embed (deferred init) -->
<script>
(function (C, A, L) { let p = function (a, ar) { a.q.push(ar); }; let d = C.document; C.Cal = C.Cal || function () { let cal = C.Cal; let ar = arguments; if (!cal.loaded) { cal.ns = {}; cal.q = cal.q || []; d.head.appendChild(d.createElement("script")).src = A; cal.loaded = true; } if (ar[0] === L) { const api = function () { p(api, arguments); }; const namespace = ar[1]; api.q = api.q || []; if (typeof namespace === "string") { cal.ns[namespace] = cal.ns[namespace] || api; p(cal.ns[namespace], ar); p(cal, ["initNamespace", namespace]); } else p(cal, ar); return; } p(cal, ar); }; })(window, "https://cal.shopwisdom.ca/embed/embed.js", "init");
(function(){var d=false;function go(){if(d)return;d=true;Cal("init",{origin:"https://cal.shopwisdom.ca"});}var ev=["pointerdown","mousemove","touchstart","scroll","keydown"];function on(){go();ev.forEach(function(e){window.removeEventListener(e,on);});}ev.forEach(function(e){window.addEventListener(e,on,{passive:true});});})();
</script>
<!-- The Vacation Test quiz -->
<script>
(function () {
var BOOK = '<a class="btn" href="https://cal.shopwisdom.ca/michaelvictory/20-min-shop-wise-meeting" data-cal-link="michaelvictory/20-min-shop-wise-meeting" data-cal-origin="https://cal.shopwisdom.ca" data-cal-config=\'{"theme":"light"}\'>Book a fit call — free, no pitch</a>';
var Q = [
{ q: "Your most knowledgeable person is away for a month — right in your busy season, starting Monday. What happens to quoting and pricing?", a: [
{ t: "Not much — it's documented, and others already do it", s: 0 },
{ t: "We'd manage, with some digging and a few phone calls", s: 1 },
{ t: "Quotes would slow down, and some would go out wrong", s: 2 },
{ t: "Honestly? We'd be calling them by Wednesday", s: 3 } ] },
{ q: "Where does the know-how actually live — the pricing logic, the customer history, the way orders really get done?", a: [
{ t: "In systems and documents the team uses every day", s: 0 },
{ t: "Some written down, some in heads", s: 1 },
{ t: "Mostly in two or three heads", s: 2 },
{ t: "Mostly in one head", s: 3 } ] },
{ q: "A long-time customer calls with a tricky job while they're away. Who picks up the thread?", a: [
{ t: "Anyone — the history and pricing are where the team can see them", s: 0 },
{ t: "A couple of people could piece it together", s: 1 },
{ t: "We'd wait for them, or guess", s: 2 },
{ t: "That customer only deals with them", s: 3 } ] },
{ q: "If someone bought your business tomorrow, could they run it from what's written down?", a: [
{ t: "Yes — the systems are the business", s: 0 },
{ t: "Mostly, with a long handover", s: 1 },
{ t: "Only if the key people stayed on", s: 2 },
{ t: "No — the business is the people, honestly", s: 3 } ] },
{ q: "Is anyone learning what your most knowledgeable person knows?", a: [
{ t: "Yes — it's captured, and the training is deliberate", s: 0 },
{ t: "Informally, when there's time", s: 1 },
{ t: "We keep meaning to get to it", s: 2 },
{ t: "No — and they're closer to retirement every year", s: 3 } ] }
];
var R = [
{ max: 4, badge: "Passes the test", h: "Your business runs on systems — protect that.",
read: "If your most knowledgeable person left Monday, the office would carry on — quoting, orders, customers, all of it visible to the team. That's rare, and it's worth real money when a buyer looks at your business. The job now is keeping it true: knowledge drifts, tools age, and there's always a next key person.",
tips: ["Keep it current — captured knowledge goes quietly out of date.",
"Capture the <em>next</em> key person before they move on; there's always a next one.",
"Make the systems part of how you tell the business's story — buyers pay for proof."],
line: "You're in a strong spot. System Care exists to keep it that way." },
{ max: 10, badge: "Runs on goodwill", h: "It works — because certain people make it work.",
read: "Parts are written down, but the parts that matter most — the judgment calls, the pricing instincts, the customer history — still live in a few heads. You'd feel it within the month, and a buyer would price it in. Most businesses this size sit right here; it's workable, and the path out is specific.",
tips: ["Start with the knowledge that would hurt most to lose — usually quoting and pricing.",
"Get the customer history out of inboxes and memory, into something the team can see.",
"Don't wait for perfect data — the mess <em>is</em> the knowledge."],
line: "<a href=\"continuity-audit.html\">The Continuity Audit</a> maps exactly where you're exposed and what to capture first. Fixed fee, a few focused hours." },
{ max: 15, badge: "Runs on one person", h: "Right now, the business is the person.",
read: "That's not a criticism — it's how good businesses get built. But it's fragile, and it quietly discounts everything you've built: when it all lives in one head, buyers pay less, and every year closer to their retirement raises the stakes. The good news: this is exactly the fixable kind of problem.",
tips: ["Don't rush a replacement hire — capture first, then decide what the role even is.",
"Book the time with your key person now; a month of capture beats a year of intentions.",
"Treat it as protecting the value you've built — because that's what it is."],
line: "This is exactly what ShopWisdom is for — and the first step is small. Start with <a href=\"continuity-audit.html\">the Continuity Audit</a>; the fit call is free and commits you to nothing." }
];
var i = 0, answers = [], total = 0;
var qEl = document.getElementById('vtQuestion'), optEl = document.getElementById('vtOptions'),
progEl = document.getElementById('vtProgress'), barEl = document.getElementById('vtBar'),
backEl = document.getElementById('vtBack'), quizEl = document.getElementById('vtQuiz'),
resEl = document.getElementById('vtResult');
function render() {
var item = Q[i];
progEl.textContent = 'Question ' + (i + 1) + ' of ' + Q.length;
barEl.style.width = (i / Q.length * 100) + '%';
qEl.textContent = item.q;
optEl.innerHTML = '';
item.a.forEach(function (opt) {
var b = document.createElement('button');
b.type = 'button'; b.className = 'vt-opt'; b.textContent = opt.t;
b.addEventListener('click', function () { choose(opt.s); });
optEl.appendChild(b);
});
backEl.hidden = (i === 0);
qEl.focus && qEl.setAttribute('tabindex', '-1');
}
function choose(s) {
answers[i] = s;
if (i < Q.length - 1) { i++; render(); }
else { finish(); }
}
backEl.addEventListener('click', function () { if (i > 0) { i--; render(); } });
function finish() {
total = answers.reduce(function (a, b) { return a + b; }, 0);
var r = R.find(function (x) { return total <= x.max; });
quizEl.hidden = true;
resEl.hidden = false;
resEl.innerHTML =
'<p class="vt-badge">Your read &middot; ' + r.badge + '</p>' +
'<h2>' + r.h + '</h2>' +
'<p class="vt-read">' + r.read + '</p>' +
'<ul class="vt-tips">' + r.tips.map(function (t) { return '<li>' + t + '</li>'; }).join('') + '</ul>' +
'<p class="vt-line">' + r.line + '</p>' +
'<p class="vt-result-cta">' + BOOK + '<button class="vt-retake" type="button" id="vtRetake">Retake the test</button></p>';
barEl.style.width = '100%';
document.getElementById('vtRetake').addEventListener('click', function () {
i = 0; answers = []; total = 0; resEl.hidden = true; quizEl.hidden = false; render();
document.getElementById('vtCard').scrollIntoView({ behavior: 'smooth', block: 'start' });
});
if (window.Cal) { try { window.Cal('init', { origin: 'https://cal.shopwisdom.ca' }); } catch (e) {} }
resEl.scrollIntoView({ behavior: 'smooth', block: 'center' });
}
render();
})();
</script>
</body>
</html>