Closes two more named radar candidates at the templates axis (small independent ice-cream / gelato shops with recipe-yield discipline per named flavour + supplier continuity on dairy + named inclusion suppliers + seasonal-staffing cadence with named scoopers + named makers + daily quality cadence on every batch, and independent tour operators with named-guide continuity + small-group experience design with named max group size + named accessibility posture + same-day named-incident reporting + weather-contingency hygiene with named decision tree + customer-comm template) bringing the templates cluster to sixty-seven named verticals + opens two new at-a-glance affordances on the /templates index hero (per-category coverage chip cluster between the hero and the rev-196 Recently-added strip + per-card stats on every Recently-added card showing memory-entry + signal-entry counts + category badge) so first-time visitors evaluating Loop Desk for a specific industry get one-glance category coverage + per-card depth without scrolling the full grid. Pure additive on top of rev-19 ONBOARDING_TEMPLATES + rev-190 TEMPLATE_CATEGORY_BY_KEY (no schema cost, no migration). The OpenAPI 3.1 spec count copy bumps 65 → 67 across the rev-172 listing endpoint description in lockstep — the cadence pattern from rev 78 onward (every dashboard primitive gets typed in the OpenAPI 3.1 spec in the same cycle it ships) reaches its 105th unbroken rev with rev 197.
Two more onboarding templates — small independent ice-cream / gelato shops + independent tour operatorsCloses two more named radar candidates at two more underserved owner-led retail + experiential entertainment segments where named-flavour recipe-yield discipline + named-dairy continuity (ice-cream/gelato) and named-guide continuity + small-group experience design (tour operators) are the load-bearing differentiators against generic AI tools. Small independent ice-cream / gelato shops (4 high-importance memory entries: recipe-yield discipline per named flavour with target yield + named-baseline waste + named-batch maker logged, supplier continuity with primary dairy + monthly milk-fat / somatic-cell-count / delivery-cadence checks + named-secondary qualified, seasonal-staffing cadence with named scoopers + named makers from May 1 + Apr 15 hiring + onboarding window close + 7-day mid-season replacement, daily quality cadence with named-maker tasting log on texture + named-flavour-balance + cabinet temperature). Independent tour operators (4 high-importance memory entries: named-guide continuity with named primary + named backup + 2-trip paired-shadow on guide changes, small-group experience design with named max group size + named accessibility posture per itinerary, safety-incident reporting with same-day named report + 24h/7d/30d follow-ups on major incidents + minor-incident pattern detection, weather-contingency hygiene with named threshold decision tree + named customer-comm template firing 18h out + named guide as the morning-of decision-maker). Two new OnboardingTemplateKey enum values (ice_cream_gelato, tour_operator) extend the rev-19 enum without migration. The templates cluster is now sixty-seven named verticals deep. Strategic significance: closes the day-1 starvation-point story across two more underserved owner-led segments — ice-cream/gelato is the named retail axis the rev-196 radar wave queued, tour operators is the named experiential entertainment axis the same radar surfaced. Both map cleanly onto Loop Desk's approval-first vocabulary.
Per-category coverage chip cluster on /templates index hero — closes the in-hero category-axis gapUntil rev 197 the only category-axis surface on the /templates index was the rev-190 chip filter directly above the grid, which only became visible after the operator scrolled past the rev-196 Recently-added strip. Visitors evaluating Loop Desk for a specific industry from a per-vertical search snippet had no one-glance read of 'where is Loop Desk's template coverage concentrated?' before they scrolled. Rev 197 closes that gap with a hero-level chip cluster directly under the rev-196 hero copy showing every industry category with a per-category count + a deep-link to the rev-191 per-category HTML archive page. Pure derived state from the rev-190 TEMPLATE_CATEGORY_BY_KEY map — no schema cost, no migration. Empty categories are silently filtered. Each chip carries a tooltip naming the category description so the operator's eye reads the chip's intent without parsing the per-archive landing page. Strategic significance: closes the at-a-glance category-axis gap at the load-bearing /templates entry surface. Procurement reviewers searching 'AI for healthcare practices' from a Google snippet now have a one-tap path into the matching subset (currently 12 healthcare verticals) instead of scrolling past the Recently-added strip + scanning the in-grid filter chips. Pairs with the rev-191 per-category HTML archive surface as the destination + the rev-190 in-grid filter chips as the in-grid narrowing surface.
Per-card stats + category badge on every Recently-added strip card — closes depth-axis gap on rev-196The rev-196 Recently-added strip showed each recent vertical's name + keyword hint + read-the-template CTA but skipped the per-card depth-axis context (memory-entry count + signal-entry count + category placement) the rev-19 main grid surfaces inline on every card. Visitors scanning the strip had no read of 'how much depth does this template carry?' before clicking through. Rev 197 closes that gap. Each Recently-added card now also surfaces (a) a small category badge under the name showing the industry placement (e.g. 'Hospitality & food' for the rev-197 tour operator template), (b) a stats line below the keyword hint showing memory-entry + signal-entry counts. Pure derived state from the rev-19 ONBOARDING_TEMPLATES array (no schema cost). Strategic significance: closes the depth-axis gap on the rev-196 strip in the same vocabulary the rev-19 main grid uses (memory + signal counts) so visitors can pattern-match across both surfaces without context-switching. Pairs naturally with the rev-197 per-category coverage chip cluster — the chip cluster answers 'where is the coverage?' at the category axis, the per-card stats answer 'how deep is each new vertical?' at the per-template axis.
OpenAPI count bump 65 → 67 + radar copy refresh + 12 new SEO keywords + cumulative visual polishThe rev-172 GET /api/v1/onboarding-templates listing endpoint description bumps 65 → 67 in lockstep — the cadence pattern from rev 78 onward (every dashboard primitive gets typed in the OpenAPI 3.1 spec in the same cycle it ships) reaches its 105th unbroken rev with rev 197. The rev-191 template-filter category-count fallback also bumps 65 → 67 so the chip filter shows the correct cardinality even when the workspace template pool is loaded asynchronously. The /templates 'Don't see your vertical?' radar copy refreshes — independent ski / snowboard rental shops, small independent yoga studios, small independent jewellers, and independent toy / hobby shops are now the next wave on the queue. Twelve new SEO keywords cover the ice-cream/gelato + tour-operator axes (AI for ice-cream shops, AI for gelato shops, AI for independent ice-cream operators, AI for recipe-yield discipline, AI for seasonal-staffing cadence, AI for daily quality cadence, AI for tour operators, AI for independent tour operators, AI for small-group experience design, AI for named-guide continuity, AI for safety-incident reporting, AI for weather-contingency hygiene). Plus cumulative visual polish: new `.ld-templates-cats*` CSS uses the brand-color teal palette + soft gradient + per-chip hover lift + focus-visible accessibility ring + print-stylesheet hide so the rev-194 procurement-takeaway PDF stays clean; the `.ld-templates-recent-stats` + `.ld-templates-recent-cat` chips wear the same brand-color treatment so all three rev-196/197 surfaces (strip card, category chip, in-grid card) read as siblings in one consistent visual vocabulary.
Start free — there are no metered credits to run out.