Public log
What shipped, when.
Every meaningful change to the live site, grouped by month and surface. Quiet refactors and dependency bumps live in the git history; this page lists what an operator or returning reader might actually notice.
May 2026 · Refresh push
2026-05-04
Operator Sheets refinement — intelligence layer, brand polish, ecosystem reciprocals
Five-specialist consulting plan executed end-to-end. Designed-artifact baseline: pack-coded 2px top hairline on every sheet card, paper rule-lines under fieldset legends, pack glyph in the hero eyebrow, print masthead refinement, voice canon locked at docs/voice-canon-sheets.md. Smart paperwork: centralized benchmarks (6 metrics, 3 anomalies, EN+ES) in data/benchmarks.json and the new Bench.evaluate() API; versioned save payloads (v:1) with v-absent migration; SVG-only viz helper (sparkline + heatmap, ~120 LOC each, no library); /api/workbench/sheet-history endpoint that draws prior-saves trend above the save panel for authed operators; B3 local autosave drafts with the “Picked up your draft from Saturday 8:42pm” line linking to /security/; B4 generous parsing (“$45.50/lb”, “1,200”, “12hundred”) with mirror echo. Recovery + comfort: two-tap reset confirm, per-fieldset “Clear this section” link, undo snackbar, progress strip (“3 of 5 sections done. Next: Sign-off.”), tablet ergonomics at coarse-pointer + ≤900px, ⌘S/⌘↵ keyboard shortcuts. Ecosystem reciprocals: “Pair with paperwork” rail on 30 tool detail pages, Pagefind kind:sheet chip, /library/ Do door reorganized to peer Tools / Sheets / Checklists, /system/#sheets colophon entry explaining the architecture, /receipts/ verification of the “no numbers leave the page” claim via check-sheet-no-fetch.mjs, per-pack OG card focus variation. Pack-level editorial preambles on the hub (“Reach for / Skip” framing, EN+ES, 60-90 words). 102 of 102 cohesion gates pass.
2026-05-04
Operator Sheets — full catalog (31 sheets across 5 packs)
The full /sheets/ catalog ships: 31 printable, fillable, CSV-exportable operator sheets across five packs, EN + ES parity. Pack 1 (Operations & Margin): recipe cost cards, weekly prime cost worksheet, daily sales recap, line check, waste log, invoice receiving, monthly P&L, inventory count, cash handling. Pack 2 (Local SEO & Discovery): GBP monthly audit, NAP consistency tracker, holiday hours planner, local keyword × page map, photo refresh tracker. Pack 3 (Conversions & Reservations): third-party channel P&L, no-show log, website conversion checklist, daypart traffic map, email-list growth log. Pack 4 (Brand & Design): menu redesign brief, brand asset inventory, signage spec sheet, photo shot list, social content calendar, vendor contact sheet. Pack 5 (Trust & Reviews): review response log, complaint root-cause tracker, plus four jurisdiction-flagged sheets (health inspection prep, staff onboarding operational-only, incident report, allergen matrix) carrying a regional disclaimer banner. Every sheet ships with a per-sheet OG card (62 PNGs total), pack-release RSS announcements, “Pairs with” cross-links to tools / glossary / blog, and inbound “Use this sheet” sidecars on 32 glossary term pages and 10 topic-pillar pages. Workshop saves register as kind=“sheet” with slug-in-payload.
2026-05-02
Launch plan, phase 9 — Menu Converter, ES Holiday Hours, terms rewrite
Second of the two new launch+30 tools shipped: /tools/menu-converter/. Paste your menu text, walk away with a live preview, semantic HTML, and a JSON-LD Menu schema block. Heuristic parser picks up sections (ALL CAPS or colon-terminated), items (price-trailing line), and descriptions (line directly under an item). Tool count 14 → 15. The Holiday Hours generator from phase 8 now has a fluent ES mirror at /es/tools/holiday-hours/ — the eight US holiday names translated, the date format localized (“25 de diciembre de 2026”), the result tabs labeled in Spanish. EN hreflang updated to point at it. /terms.html rewritten to ~1,300 words: voice-contract first-person, Maryland courts (no arbitration, no class-action waiver), CC BY-NC 4.0 explicitly licensing library content while exempting tools, brand, and codebase. Twelve numbered sections, each with a one-paragraph plain-English explanation.
2026-05-02
Launch plan, phase 8 — Holiday Hours Generator, privacy + cookies rewrites
First of the two new tools the plan flagged for launch+30: /tools/holiday-hours/. Pre-loaded with the eight US restaurant holidays that move covers (floating ones computed from the year input). Three outputs per run: plain text for the website, JSON-LD specialOpeningHoursSpecification for schema, GBP-formatted block for paste into Business Profile Manager. /privacy.html rewritten to ~700 words, first-person Don, four sections (what I collect / what I never do / your rights / vendors). /cookies.html rewritten with the three actual functional cookies in a typed table (md_locale, lang_hint_dismissed, md_session) plus a “why no banner” paragraph naming the position. Maryland PIPA breach-notification window named explicitly.
2026-05-02
Launch plan, phase 7 — 5-item nav rewrite, AI crawler robots.txt
The deferred IA bet from Part II ships. Primary nav goes from 8 items + mega-menu to five: Library · Tools · Work · Studio · Sign in. Library now points at the canonical /library/ hub; Tools is promoted from inside the old mega-menu; Studio replaces Services + Restaurants + About (those pages remain reachable). The mega-menu is retired, controller script gone too. Mobile menu mirrors the desktop 5-item structure. /robots.txt extended with explicit per-agent stanzas: allowed — GPTBot, ClaudeBot, anthropic-ai, Claude-Web, PerplexityBot, Google-Extended, Bytespider, Applebot-Extended; disallowed (training-only, no retrieval-time citation) — CCBot, Omgilibot, ImagesiftBot. /llms.txt and /es/llms.txt now cross-link the full-body corpus (/llms-full.txt, /es/llms-full.txt, /feed-llm.json) at the top so AI crawlers find the citation surface immediately.
2026-05-02
Launch plan, phase 6 — entity graph, sitemap, CTA canon CI guard
Homepage LocalBusiness JSON-LD now ships telephone on the entity itself plus a structured contactPoint array (support + sales). sameAs expanded from 1 entry to 10 (LinkedIn, Facebook, GitHub, Bluesky, Threads, Yelp, GBP, Bing Places, Apple Maps) — the threshold Google’s Knowledge Panel checks before rendering. Sitemap regenerated to include all 11 pages added in phases 1–5 (the studio hub, three productized offers, five DMV cities, /never/, /ai/, /studio/compare/, /library/, three new research notes). New CI script scripts/check-cta-canon.mjs guards the locked CTA verb set from /methods/#voice-contract — first run found 21 drift hits across 18 files; all swept. Three more high-traffic articles cross-link the productized offers in the further-reading aside.
2026-05-02
Launch plan, phases 1–5 — what shipped
A consultancy-grade refresh executed against the 12-week launch plan. Phase 1: three new trust pages (/never/, /ai/, /studio/compare/), the voice contract appended to /methods/, three signature stances on the homepage, footer trust cluster (4 → 5 columns), 247 escaped count sentinels restored. Phase 2: three productized offers ($499 audit, $1,500 menu drop-in, $99/mo Care Plan Light), five DMV city subpages, ES mirrors of all phase-1 pages, mega-menu a11y rebuild (button + ARIA + keyboard), Cal.com onramp on /window/. Phase 3: productized offers wired into /services/, AI-search corpus (/llms-full.txt, /feed-llm.json, EN + ES), 404 redesign with search box, six-message operator drip in /docs/email-drip/, project-manager hire scope, the DoorDash math op-ed. Phase 4: /studio/ canonical hub (EN + ES), mobile sticky bottom CTA bar, sync-includes idempotency fix (collapsed 4 → 1 trailing scripts across 429 pages), lighthouserc.js with the 7-URL gate set, Conversation + App shells named in design-system.md, --gradient-hero retired, DMV GBP audit research note. Phase 5: /library/ three-doors hub (EN + ES), /studio/contact/ + /library/* alias redirects, WCAG 2.2 AA standardization, the 1% margin audit research note, productized offers cross-linked from two high-traffic articles.
2026-05-02
End-of-article author cards + LocalBusiness contactPoint
Every blog article (EN + ES) now closes with an "About the author" card — lettermark D, name, two-sentence bio, credentials line, links to /about/ and the Window. The homepage LocalBusiness JSON-LD got a contactPoint with email, business hours, supported languages, and area served — so Google's knowledge panel has structured contact data even without a published phone number.
2026-05-02
Patchwork / Agency / Muntin comparison reinstated
Three-card positioning block back on the homepage in a leaner form. Sits between the trust strip and the library section; the library still leads, this just helps a stressed operator see where the studio fits between a Wix template and a full agency.
2026-05-02
Cross-locale ESL bridge on every translated article
Inline contextual link near the top of every translated article body: EN articles get "Leer este artículo en español", ES articles get "Read this article in English." A first-generation operator who lands on an English page from Google can switch to Spanish in one tap before committing to read.
2026-05-01
Glossary library: 4 missing entries authored, 10 dead links cured
New entries: breadcrumb, hreflang, owned channel, third-party marketplace. The two operations terms close the central tension in the DoorDash article. 10 articles had inline links pointing at non-existent glossary slugs — rewired to existing parent terms or unwrapped to plain text where no parent existed.
2026-05-01
/receipts/ + Care Plan as a standalone offering
New surface at /receipts/ — counts at-a-glance, the seven north-star KPIs the studio tracks, and an explicit list of what we don't track (no ad cookies, no session replay, no cross-site IDs, no fingerprinting). On /services/, Care Plans came out of a collapse and now invite operators with an existing site to take Standard Care standalone.
2026-05-01
Homepage hero rewrite, plain-English ledes on legal pages
The homepage H1 went from "Learn the web that sells" to "Plain-English answers for restaurant owners. And a studio that builds the site, when you want one." Count chips below the subhead, trust strip below the flagship-tools section, "Email Don" CTA replacing "Write to Don" in nav and footer. Privacy, Cookies, Terms, and Accessibility each open with a "The short version" lede in operator language.
2026-05-01
Phase 0: truth-telling pass
The largest single performance fix the site has shipped: removed the high-priority audio MP3 preload that was stalling LCP by 15–30 seconds on mid-tier Android over 4G. Calendly + Formspree references removed from privacy + cookies (we don't use either). /security/integrity.txt now exists with real SHA-256s of the public bundle (was a 404 link). /.well-known/security.txt shipped per RFC 9116. Case studies (Tacombi, Irish Inn, Off Day) now carry an explicit "Engagement" chip distinguishing in-house W-2 work from commissioned studio work from strategy studies. (The /work/ section was retired in Phase 8, May 2026 — links removed here.)
2026-05-01
Accessibility sweep: contrast, focus, ARIA, sr-only
Footer alpha values raised from 0.6 to 0.78–0.85 to clear AA contrast. .tool-card.live .status moved off a 3.2:1 color pair onto --status-good tokens. Window composer textarea got a real <label>. The library mega-menu's broken role="menu" ARIA pattern (declared keyboard expectations nothing implemented) was dropped in favor of plain semantic <nav>. 134 pages got the (opens in new tab) sr-only span on Instagram links. Touch-device hover hygiene block neutralizes lift-and-stick effects on tap.
Legend
This page is hand-curated. The full git history (every commit, including the small refactors and dependency bumps) is publicly browsable on the repository. If you saw something change and don't see it here, that’s a bug — tell Don and it'll get added.