Lesli.com -- AI Visibility & SEO

Portfolio

Sites Shipped.
Systems Built.
Visibility Earned.

Every site live. Every tool deployed. Every visibility report published. The same machine, applied to client sites, agency network, owned properties, and the systems that run underneath them all.

Featured

The work that proves the method

Liberty Goldens

2026-04

Full Next.js rebuild for Ruth Norlington's golden retriever kennel. 90+ routes, blog, 57 location pages, breeder admin dashboard. Live on Hetzner via the multi-tenant Puppy Sales Success platform.

Next.js 16PrismaSQLiteDockerHetznerResend

Live, indexed, generating organic traffic

Visit →

Dreamer's Bliss Pet Transportation

2026-04

Cross-border pet transport business co-owned with Melisa Guyett (founder, commercial carrier license holder, based in Comber ON). Lesli runs the online side and most of the operations from NB. Launched April 2026 as a 68-page Next.js build, then expanded the same month into an 85-URL partner-network hub: 12 breeder, rescue, and cattery profile pages spanning QC, ON, NS, OH, Puerto Rico, and Russia, plus a new /transport-partners section featuring the peer pet-shipping companies (Paws en route, Petsgo, Airbound Pets) that subcontract us for ground legs. Quote form, Stripe deposits, Google Reviews integration, customs broker hub, and AI-discoverable schema sitewide.

Next.js 16DockerHetznerStripeResendGoogle Places API

Live April 2026 with 68 URLs at launch, expanded to ~85 URLs and a 15-partner trust network. Quote requests now arrive from search and partner referrals, not just word of mouth.

Visit →

lesli.com

2026-04

The agency site itself. 57+ pages, lead pipeline (replaces GHL), audit publishing engine, GSC-integrated results dashboard tracking 12 sites, multi-property merging.

Next.js 16SQLiteDockerTraefikHetznerGSC API

57+ pages, 50+ visibility reports published, lead pipeline active

Visit →

VisibleVet.com

2026-04

Vet clinic visibility marketing brand. Schema-first Next.js rebuild, city pages, 8-phase 2026 Playbook, 16+ blog posts across PPC/Reputation/SEO/Maps/LLM silos.

Next.js 16DockerHetzner

Content silos live across 5 verticals, 16+ posts shipped April 2026

Visit →

Global.Media

2026-05

Eny Osung's UK book publishing and bestseller-campaign brand, rebuilt around a commercial content silo. Six service pages (Guaranteed Amazon #1 Bestseller £1,100, Book Writing & Publishing £3,000, Anthology Publishing, LinkedIn Event Management £100+/event, Author-Speaker Conferences, Social Media Management). Six author case studies with verified Amazon category wins, real buyer counts, and downloadable bestseller PDFs as primary-source proof. Ten insights articles seeded behind a secret-gated endpoint, dynamic sitemap. May 2026 trust-hub shipment added eight schema-rich pages in one day: /pricing (consolidated tier ladder, OfferCatalog schema), /guarantee (lifted from the pillar with WarrantyPromise schema), /process (90-day campaign HowTo schema), /proof (per-author #1 win cards with PDF report downloads), /results (aggregate stats with year table), /are-amazon-bestseller-services-a-scam (the head-on objection-handler page named the four scam patterns), /team (Person schema for Eny + Paula + Paulette + Alexis with sameAs to Companies House and LinkedIn), /press (named guest appearances + three owned shows). Topic-aware insights closing CTA per blog post, 4-column footer with a dedicated Trust column. Multi-domain Next.js 16 architecture sharing a container with enyosung.com via host-based middleware.

Next.js 16SQLiteDockerHetznerTraefikSchema.org JSON-LD

Silo Score moved from 5/24 to ~22/24 between April 25 and May 7. 74 verified Amazon #1 Bestseller awards plus 15 Hot New Release awards documented across 6 case studies (Paulette 32x, Coach David 12x, Lavern 10x, Prof Roxanna 8x, Sandra 7x, Jay 5x), spanning France, US, UK, Canada, and Australia. 10 insights posts live. 4 client bestseller-report PDFs deployed as primary-source proof. Trust hub complete: process + guarantee + proof + results + objection-handler + team + press all schema-rich and AI-quotable. Free LinkedIn masterclass scheduled 19 June 2026.

Visit →

Freddy Local — Fredericton Business Directory

2026-05

GBP-verified-only Fredericton directory plus an events calendar with 300+ live events, a 4-category marketplace, a daily food truck tracker, NB attractions guide, and Friday in Freddy newsletter. Daily auto-ingest pipeline pulls events from 7 sources (Eventbrite, Bandsintown, Songkick, AllEvents, Playhouse, NB Provincial Exhibition, Kings Landing) via JSON-LD + a 2-step crawl parser, deduplicates, and auto-publishes. Public submission forms gated by Cloudflare Turnstile plus a server-side honeypot, with Resend admin notifications on every new submission landing in the moderation queue.

Next.js 16SQLiteDockerHetznerScraperAPIsystemd timerschema.org Event JSON-LDiCal RFC 5545Cloudflare TurnstileResend

300+ events live and growing daily, full multi-tenant directory engine reusable across other cities

Visit →

Pedigree Database

2026-04

Public American Bulldog archive: pedigree search, breeder directory, classifieds, membership tiers. COI calculation for every dog, breeder visibility scoring, claim system.

PHPMySQLSiteGroundStripeResend

Thousands of pedigree records, COI calculated for every dog, scraper running

Visit →

Rosebull American Bulldogs

2026-05

Personal kennel site for Lance and Lesli Rose's 29-year American Bulldog program. Replatformed from custom PHP on SiteGround to a standalone Next.js 16 + Postgres + Prisma container on Hetzner in a single session, replacing a multi-tenant SaaS placeholder that was leaking Bear Valley copy. Pulls 209 of Lesli's dogs read-only from the shared pedigreedatabase.ca MySQL archive, then writes kennel-only data (waitlist, litters, featured dogs, videos, blog, FAQs) to its own Postgres. Schema-first build: 24 JSON-LD types including Organization, LocalBusiness, Person, Animal per dog with sameAs to pedigreedatabase.ca, FAQPage on every money page, BlogPosting, Product/Offer, HowTo for the application flow, and BreadcrumbList sitewide. AI-visibility layer ships /llms.txt and an explicit allow-list for 11 AI bots (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, Applebot-Extended, Bytespider, CCBot, and 4 more). Aggressive screening puppy application with required breed-experience, intended-purpose, home-type, and current-dogs fields plus optional vet reference. Full admin panel: featured dogs curation, litter CRUD with status workflow, waitlist with status pipeline + CSV export, video manager, cross-site dog photo upload to pedigreedatabase.ca via shared token, blog editor, FAQ CRUD. 12 long-form blog posts ported from the legacy PHP with HTML body rendering. 21 location pages plus a Dogs Bred at Rosebull lineage archive that preserves the ABRA breeder-prefix-stays-forever convention as a long-tail SEO surface. 40+ legacy redirects (WordPress, .shtml, .php) catch every backlink earned since 2005.

Next.js 16React 19Tailwind 4PrismaPostgreSQLmysql2DockerTraefikHetznerResendbcryptjs

Replatformed in one session: 17 public routes returning 200, 209 dogs live, 12 blog posts ported, 24 JSON-LD schema types, AI-bot allowlist + /llms.txt, full admin panel. Cutover from the multi-tenant pss-ai container completed cleanly with Bear Valley and Liberty unaffected.

Visit →

OBBA Bulldogge Registry

2026-05

Olde Bulldogge Breed Association, the Olde English Bulldogge registry rebuilt from a SiteGround WordPress site to a Next.js 16 + Postgres knowledgebase on Hetzner. 16,890 dog records imported from the PedX archive with 13,244 sire/dam pedigree links auto-resolved, atomic OB10200-26 reg-number allocation, dashboard, admin, Stripe checkout, Resend transactional email, and 30+ legacy WordPress URLs auto-301'd. The content layer has grown to 60+ silo pages covering breed encyclopedia (10), health & care (15), buying & owning funnel (12), breeding reference (10), comparison pages (8), and a complete registration silo with naming policy. Schema layer is deep: Organization, Person, WebSite, Animal on every breed-relevant page, MedicalCondition on 5 condition pages, HowTo on 7 process pages, Service + Offer on the registration hub, and dedicated AI-discoverability assets at /llms.txt and /llm-info. Privacy-correct breeder directory hides 1,938 PedX-import contact records that lack proper kennel names. Wave 2 added PDF registration certificates and 5-generation photo pedigrees rendered via @react-pdf/renderer, multi-photo galleries per dog (max 10, sortable), Kennel Pro perks (logo ticker, verified badge, clickable website link), stud listings with fee + terms, Featured Dog product ($24 homepage / $9 breed-index), promo codes, and a dual-registration intake flow with cert + pedigree upload + admin review queue at /admin/registrations. Stripe rotated to OBBA's own account in May 2026 (receipts now say OBBA, not ABRA) with auto-provisioning on Kennel Pro and Featured Dog purchases. Launch campaign on 2026-05-24 activated 1,131 historical breeders via one-shot magic-link tokens at /claim/[token] (auto-creates User, auto-links matching Kennel by name, sets session cookie, drops the breeder into their dashboard). Bento broadcast sent at 100/hr drip rate with personalized claim URLs, plus a Day 7 nudge and Day 14 final reminder both filtered to skip anyone who's claimed. Real-time monitoring at /admin/claims. May 28 mega-session shipped the full puppy-handoff workflow as a three-phase build that closes the loop between breeders and the buyers their dogs go home with. Phase A added schema columns (assigned_at, followup_count, last_followup_at, dormant_at, DogStatus dormant, User marketing_optin), the /assign-puppy/[id] breeder form, server-side prefix lock on the registered_name input (locked kennel-prefix span plus editable suffix, mirrors the ABRA naming policy), a read-only-after-handoff banner with a reassign link, a pinned 'Needs buyer' badge that pushes pending puppies to the top of the breeder dashboard, and a breeding-rights state machine where only the breeder of record can grant rights (permanent) and only an admin can revoke. Phase B ships a daily /api/cron/puppy-followup endpoint protected by Bearer auth (CRON_SECRET), 10 personalized nurture emails plus a dormancy notice via Resend, and a Hetzner /etc/cron.d entry firing at 14:05 UTC. Each email leads with a different benefit (photo, certificate, microchip, story, titles, pedigree, dormant heads-up, final notice) and reuses the puppy_handoff ClaimToken so one click logs the buyer in. Phase C ships /reactivate-dog and a $20 Stripe checkout that clears dormant_at, resets the cadence to zero, flips status back to pending, and emails the buyer welcome-back, the breeder a heads-up, and admin a notification. Same session quietly fixed a Traefik-related bug where every form submit on the entire site was returning Location: https://0.0.0.0:3000/... because new URL(path, req.url) was resolving to the container's internal bind address; the originUrl(req) helper now respects X-Forwarded-Host across 17 route handlers (login, register-dog, photo upload, account, checkout, contact, reset-password, admin actions). Plus photo reorder buttons on every gallery, a four-surface died_date treatment (edit-dog Mark-as-deceased collapsible, dashboard split into active + In memoriam sections, In memoriam line on the public dog page, automatic stud-availability clear), and a fix for the /admin Server Component event-handler 500 that had been live since the initial scaffold.

Next.js 16PrismaPostgreSQLDockerTraefikHetznerStripeResendBento@react-pdf/rendererHetzner /etc/cron.d

Knowledgebase moat the WordPress site never had: 16,890 indexable dog profiles, 60+ schema-rich silo pages, AI-discoverability surface for ChatGPT/Claude/Perplexity, and persona-coverage funnel for active breeders, prospective puppy buyers, cross-registry breeders, and casual owners. Activation campaign on 2026-05-24 reached 1,131 historical breeders with personalized one-click magic links into their own dashboards. May 28 puppy-handoff trilogy turns each litter registration into a long-running nurture loop: breeder assigns puppy via /assign-puppy/[id], buyer receives a magic-link claim email, then a 10-step Resend cadence every 3 days nudges any buyer who hasn't claimed, and a $20 Stripe reactivation reopens any record that goes dormant after step 10. Same-day fix to the systemic redirect bug rescued login, register-dog, photo upload, checkout, contact, and every admin action from silently failing with ERR_ADDRESS_INVALID for every end user on the site.

Visit →

Bear Valley Puppies

2026-04

Built for Jan Francois (Lone Rock, WI): Pomeranian and Dachshund kennel site consolidating two legacy WordPress sites (bearvalleypomeranians.com + bearvalleydachshunds.com) into one. Tenant on the Puppy Sales Success multi-tenant SaaS. Round 2 (April 2026) shipped a full visual rebrand around Jan's new logo, a cream/navy/slate palette, two-image hero, three-photo strip with a Polaroid lightbox + hover captions, and 16 programmatic color silo pages (9 Pomeranian colors, 7 Dachshund colors) with Product + Breadcrumb JSON-LD. Inquiry form rebuilt with 8 required fields routing to the in-app pipeline. Admin gained drag-reorder photos (dnd-kit), bulk upload with progress, color-tagging that powers the silo galleries, free-text price + Video URL on every puppy, photo/video content blocks, and a 'View website' shortcut.

Next.js 16PrismaPostgreSQLDockerHetzneryet-another-react-lightboxdnd-kitPSS Multi-tenant SaaS

Live April 2026 with two breeds consolidated, full Round 2 rebrand shipped, 16 color silos generating long-tail SEO surface, lead-magnet PDFs delivering automatically, and a 2-week scheduled agent watching the legacy-domain redirect cutover.

Visit →

BOXBOXF1.io

2026-05

F1 race intelligence platform co-founded with Lance Rose for the 2026 Monaco Grand Prix launch window. Zero to 50+ URLs in 48 hours: a Next.js 16 + Postgres + pgvector stack on Hetzner with full schema markup (Article, DefinedTerm, FAQPage, SportsEvent, Person, SportsOrganization, BreadcrumbList), dynamic OG image generator at /api/og, citation linter enforcing a 'no source, no story' editorial rule (em-dash blocks, footnote resolution, weasel-word flags), per-page citation lists, and confidence labels on every analytical claim. Content covers 17 strategy glossary entries, 11 strategy explainers (including the Monaco GP 2026 strategy guide flagship), 10 driver profiles, 5 constructor profiles, 2 track hubs with verified Pirelli compound allocations and FIA session times, and DB-driven race-weekend hubs. Built to be the F1 source that AI engines (ChatGPT, Perplexity, Gemini, Claude) cite by default.

Next.js 16React 19TypeScriptTailwind 4PrismaPostgreSQLpgvectorAnthropic SDKResendCloudflareDockerHetzner

Live with HTTPS via Traefik + Let's Encrypt, GA4 and Google Search Console wired, Resend domain verified, Cloudflare Email Routing for lesli@ and lance@ inboxes, 50+ URLs in sitemap, dynamic OG previews, citation-backed editorial discipline. Launches publicly Monaco GP weekend June 5-7, 2026.

Visit →

AEO Agency (Webflow Partner of the Year)

2026-05

An Answer Engine Optimization agency -- Webflow Enterprise Partner of the Year, client roster including two publicly traded companies, growing at 70%+ annually -- whose own bx.studio/llms.txt returns a 404. Robots.txt is best-practice: explicitly names 10 AI crawlers and grants full access. Then there is nothing on the other side for AI systems to read. Schema coverage is 2 of 8 recommended types. The homepage meta description is interchangeable with any of 400 Webflow agencies. The /aeo-agency service page has no FAQ schema. The agency is selling the capability it has not yet deployed on itself.

Top findings: missing llms.txt (ironic for an AEO agency), incomplete Organization schema missing sameAs links, no decision-stage content cluster supporting the AEO service page, homepage meta that could belong to any Webflow shop. All fixable in one sprint.

Visit →

AI Marketing Automation SaaS (79-page site, blank HTML)

2026-05

A CRM and AI marketing automation platform -- AI voice agents, four pricing tiers, 79 pages of service and industry content, founded 2023, Massachusetts-based -- whose marketing site is a React Single Page Application with no server-side rendering. Every AI crawler (GPTBot, ClaudeBot, PerplexityBot) receives one line of meaningful HTML: a blank div. No title tags. No meta descriptions. No schema. Zero of eight recommended schema types present. No /llms.txt. No third-party review listings on G2, Capterra, or Product Hunt. The platform does not appear in any AI response to buyer-intent queries for CRM or marketing automation.

Scores: Technical 38, On-Page 12, Content 10, Schema 0, AI Discoverability 22. Fix path: SSR migration (20h), meta + schema package (6h), llms.txt + AI crawler directives (2h). Infrastructure problem, not a brand problem.

Visit →

Signal-Based Pipeline Intelligence System

2026-06

A working pipeline creator built in 48 hours as a job-application demo for an industrial software vendor. It monitors public signals (job postings, expansions, contracts, press releases) across 32 real companies in four industrial verticals and scores each on an Expertise Bottleneck Index: evidence that scarce, traveling, or retiring expert knowledge is constraining operations. Every claim cites its source URL. Each account gets a brief, stakeholder roles to find, and draft outreach referencing a specific observed signal. The scoring validates itself against known high-fit profiles before it is allowed to publish, and nothing ever auto-sends: the machine collects, ranks, and explains; the human judges and owns every conversation.

PythonSQLiteClaude (Haiku + Sonnet)Google News RSSDataForSEOeval-gated scoringstatic dashboard behind basic auth

Live gated demo (available on request). Submitted with the application it was built for; the eval suite independently ranked a verified real customer of the target company near the top of the list.

Job Finder Agent

2026-06

A daily AI agent that reads a written profile (target lanes, geography rules, salary floor, dealbreakers), searches job sources every morning on a tiered rotation, scores every posting 0-10 against the profile with a one-line reason and a one-line concern for each, and emails only the roles that clear the bar. Quiet day means no email. It never applies for anyone: the machine does discovery and explanation, the human keeps judgment and every send. Runs on a server cron for pennies a day.

PythonClaude (Sonnet)DataForSEO SERPSQLiteResendHetzner cron

Live daily. First run surfaced 4 qualified roles including two the manual search had missed.

AI Visibility Checklist

2026-05

A 28-point interactive self-assessment that walks any business owner through Understand, Trust, and Recommend. Live checkbox scoring, progress bar, score circle, and a print-styled PDF export so the saved-state checklist becomes a lead-magnet asset. HowTo schema, indexed, sitemap-registered, linked from /tools and footer. Built so a prospect can complete it in 5 minutes and walk away with a real diagnosis they can act on.

Next.js 16 client componentReact state for live scoringPrint-color-adjust CSS for PDF exportschema.org HowTo

Top-of-funnel lead magnet. Featured card slot on Lesli's personal LinkedIn profile + footer Free Tools column.

Visit →

The AI Visibility Stack™

2026-05

The trademarked five-layer methodology for making businesses visible to Google and every AI assistant that decides who gets recommended. Technical SEO Foundation → Schema & Structured Data → Content Architecture → E-E-A-T Signals → AI Discoverability. Each layer is built on the one below it. Skip a layer and the stack collapses. Most agencies sell AI discoverability as a bolt-on; this is the one that builds it into the foundation.

Canonical methodology on /approach, homepage, and llms.txt. The named asset behind every visibility report and client engagement.

Visit →

The Entity Anchor Method

2026-04

The three-step entity-clarity protocol that powers Layer 5 of the AI Visibility Stack™: Entity Home + Corroboration + Signposting. The same system applied to a person, a business, or a brand. Anchored to Kalicube's Knowledge Panel framework with Wikidata as the highest-ROI move.

Used in every visibility report, every client engagement, and the Famous On Purpose book

Visit →

Entity Disambiguation: Winning a Contested Brand Name

2026-05

Case study of applying the Entity Anchor Method to lesli.com itself, a brand name contested by Leslie's Pool Supplies, Ningbo Lesli, and a Wikipedia acronym. Baseline GSC position for 'lesli rose' was 13.9, with the domain not surfacing for a navigational query of its own name. The fix shipped in a single working day: created Wikidata item Q139919427 with full Person property set, uploaded a real selfie to Wikimedia Commons, enriched Person and Organization schema sameAs from 2 URLs to 9 spanning Wikidata, LinkedIn personal and company vanity, Crunchbase, Google Business Profile, and four sister domains. Added a Next.js proxy returning 410 Gone for 39 WordPress ghost URLs from the pre-Next.js site so Google drops them in 1-2 weeks instead of 6-12 months. Same playbook I run for every client.

schema.org Person + OrganizationWikidataWikimedia CommonssameAs crosswireNext.js 16 proxy410 Gone

Shipped 2026-05-25. Baseline position 13.9 on 'lesli rose' to beat as Google recrawls the enriched entity graph over the next 30 days.

Visit →

AI Visibility Build

2026-04

Productized middle-rung offer between the visibility report and the full engagement. Three vibe-coded tools (calculator, comparator, lookup) shipped in fourteen days, embedded on the client's site, schema-engineered for AI citation. Source code handed over. Starting at $2,500 CAD. The wedge: nobody else productizes vibe-coded GEO assets in the gap zone between $2K education and $20K agency builds.

Next.js 16Claude CodeStructured Datallms.txtResendTurnstile

Launched April 2026 as the wedge play from the vibe-coding-consulting market analysis

Visit →

LinkedIn Growth Tool (LVS-100)

2026-04

Productized LinkedIn Visibility Score audit. 7 categories scored on a 100-point rubric anchored to April 2026 LinkedIn algorithm reality. Outputs a self-contained HTML report with peer benchmarks, headline rewrite, 30-day roadmap, and a Lead Conversion Playbook.

Claude Code skillNext.js 16HTML

Live case study on Lesli's own profile (LVS 52 baseline, public weekly progress log)

Visit →

LinkedIn Amplifier

2026-05

Productized done-for-you LinkedIn growth service at $1,200 CAD/month recurring. Three carousels per week plus one Pulse Article per month, written, designed, scheduled, and tracked. First month bundles the LinkedIn Visibility Report (LVS-100) and a profile foundation sweep so the amplifier never runs on a broken profile. The Article is the AI-citation asset, the carousels are the dwell-time distribution channel, and the LVS-100 is the foundation gate. Stripe subscription self-checkout from the offer page; webhook lands every purchase as a lead and triggers an onboarding kickoff email.

Next.js 16Stripe Checkout (subscription mode)ResendClaude Code skillLinkedIn Pulse

Live May 2026 as a standalone EMC-adjacent SKU outside the canonical ladder. Algorithm-anchored value stack ($8,047 first-month / $4,900 ongoing) for a $1,200/mo entry price, designed to validate demand before raising.

Visit →

LinkedIn Sprint Preview

2026-05

Productized $497 USD one-time SKU that sits between the $397 LinkedIn Visibility Report and the $1,497 90-Day Sprint. Custom-built lead magnet template, Newsletter Issue #1 draft in the buyer's voice, and a funnel architecture diagram showing how their existing assets stack into one inbound machine. Built around the buyer's own signature framework, book, or methodology. 48-hour delivery, native embedded intake form, full refund if late or not useful. Productized version of the leave-behind play first run with Tomar Beh.

Next.js 16Stripe Checkout (one-time)ResendNative intake formClaude Code skill

Live May 2026 as the ladder middle rung. Stripe checkout + intake + manual fulfillment flow all wired and smoke-tested. Sprint Preview cost credits toward full Sprint upgrade within 30 days.

Visit →

Tomar Beh: LinkedIn Audit + Sprint Preview leave-behind

2026-05

UK AI consultant for nonprofits, author of Start AI Right for Nonprofits, founder of AI CoLab Studio and M-prez Enterprise. LVS 59/100 across 7 categories with peer benchmark against Beth Kanter, Nathan Chappell, and Shereese Floyd (all US, leaving the UK governance angle wide open). Shipped with a Sprint Preview leave-behind containing v1 of the SAFE AI Policy Pack (4-page UK GDPR-flavoured template), a draft newsletter issue for her existing AI & the Next-Gen Organisation newsletter, and a funnel architecture diagram wrapping her book and 99-subscriber newsletter into one inbound machine. First example of the productized Sprint Preview play.

Top findings: zero recommendations, duty-style experience bullets, biweekly newsletter under-leveraged at 99 subscribers, 80% of feed posts are text-only when carousels deliver 6.60% engagement. Recommended pivot: amplify the existing newsletter to weekly, ship the SAFE AI Policy Pack as a Featured-section lead magnet, cross-promote on every carousel. Cold-DM leave-behind play converted to a positive reply within 24 hours.

Visit →

Visibility Report Engine

2026-04

Productized SEO and AI Discoverability audit system with 4 variants (standard, free teaser, coaching-specific, independent quarterly). Each produces a self-contained branded HTML report with 18 sections covering technical SEO, schema, AI discoverability, bot traffic and origin protection, content silos, and an implementation roadmap.

Claude Code skillNext.js 16HTML

50+ visibility reports published to lesli.com/{slug}-audit/

AIVS Scoring Engine + Client Dashboard

2026-05

Automated AI Visibility Score grid built in TypeScript on Next.js plus SQLite. Three-platform triangulation against Anthropic Claude, OpenAI ChatGPT, and Perplexity Search Retrieval (not Sonar), plus Layer 1 and Layer 2 task checks (HTTPS, llms.txt, robots AI directives, Organization, Person, Service, FAQPage, BreadcrumbList, AggregateRating schema). Runs on a weekly Hetzner cron at roughly half a cent per site per run after caching. The public case study at lesli.com/aivs renders a comparator dataset for BX Studio and the four other Webflow Enterprise Partner of the Year 2025 finalists (Edgar Allan, MakeBuild, N4 Studio, TAG), with a read-only live dashboard at lesli.com/aivs/live.

Next.js 16TypeScriptSQLite (WAL mode)better-sqlite3Anthropic SDKOpenAI SDKPerplexity Search APIcheeriop-queueDockerHetzner

Live across 10 owned sites plus 5 EPOTY 2025 comparator agencies. 150 score cells plus 100 task cells captured in a single run for under one dollar. Public case study with the cost-overrun war story (key burned $30.85 in one day; fix shipped: per-key daily cap, result caching, weekly not daily cron).

Visit →

Author Brand Sales Engine

2026-04

Productized strategy playbook for author clients. Researches the author end to end (Amazon, Goodreads, podcast presence, awards, AI visibility), then drafts a 22 to 26 section playbook covering positioning, three named buyer bundles, email and lead magnet, Amazon optimization, direct sales, institutional outreach, content silo, AI Visibility, podcast tour, Pinterest, awards, and an affiliate plus service revenue stack. For service-led nonfiction authors (hypnotherapists, coaches, consultants), the framing is unusual: the book is the credibility anchor, not the income engine, and Section 27 expands into a full multi-stream revenue ladder. Output is a private noindexed HTML page deployed to a private URL on lesli.com plus a downloadable Word doc.

Claude Code skillNext.js 16HTMLDOCX

First production run shipped April 2026 (private deliverable). Skill end-to-end: research, draft, deploy, smoke-test, hand over the live URL.

Claude Code Skills Library

2026-05

Twenty-plus production Claude Code skills built for specific business applications across SEO, content, image generation, deploy automation, and internal ops. Each skill is a self-contained Markdown manifesto plus optional supporting docs that turn a recurring workflow into a repeatable one-line invocation. The library is the engine behind every productized offer: visibility reports, LinkedIn audits, author playbooks, content silos, social posting, AI-discoverability files, and end-of-day wiki digests all run through skills that I authored, version-control, and refactor as the work evolves. Available to build custom skills for clients who want their own internal workflows productized inside Claude Code.

Claude Code skill manifesto (Markdown)Sub-agentsMCP serversSlash command invocationMemory system integrationHooks + cron

Skill library powers every productized deliverable on this portfolio. Roughly 20 skills in active rotation. Custom-skill engineering offered as a client deliverable for teams that want their internal SOPs encoded as Claude Code commands.

Visit →

Article Engine

2026-05

Long-form SEO and AI-citation article pipeline. Reads a site's strategy doc, mimics the existing voice, outputs ready-to-deploy Markdown or a Next.js page with full schema. Four-layer architecture (strategy, research, write, AI-optimize) so the same skill can run against any of the agency or owned-site brands. Built as a native Claude Code skill, not an n8n workflow, so the model carries the full context of the site, the brand brief, and the silo plan into every article.

Claude Code skillSchema.org JSON-LDMarkdownNext.js 16

v2 deployed to pedigreedatabase.ca: 6 articles live and indexed in GSC, with dog.php JSON-LD schema added across 29,000+ dog pages and ImageObject schema across 12,151 photos in the same engagement.

Social Posting System (6-skill pack)

2026-04

A chained six-skill system that turns one daily prompt into a graded, brand-correct, scheduled social post. /brand-brief captures offer, ICP, CTA, voice, and do-not-say list. /content-plan generates a 12-week plan with 3-4 content pillars and 36-48 topics. /content-coach is the daily entry point: pulls the next undrafted topic, hands it to /post-writer for the hook + body + CTA, then to /post-grader for scoring against voice rules and platform-specific hook strength (auto-fails forbidden tokens like em dashes or LinkedIn-style 'I' openers). /post-scheduler publishes graded 8+ drafts via Blotato MCP using next-free-slot queueing, with a posting log for receipts.

Claude Code skill (x6 chained)Blotato MCPMemory-backed brand briefsContent-plan persistence

Active across 7 brands. Replaces the daily 'what should I post' decision with one command. Grader auto-fails on every voice rule before anything queues, so brand drift is caught before publishing.

/llm-info Skill (AI Discoverability Files)

2026-05

Generates and deploys two AI-discoverability assets for any site: a brief /llms.txt (machine-readable Markdown summary) and a rich /llm-info page (HTML route with Organization, Person, and WebSite schema, named frameworks, notable clients, neutral citation guidance). Auto-discovers the brand brief, project memory, site stack, and any existing files before drafting. Asks before adding new trademarks or featuring new clients. Deploys per site type: Hetzner Docker rebuild for Next.js sites, SSH for SiteGround PHP sites.

Claude Code skillSchema.org JSON-LD/llms.txt specSSH deployDocker rebuild

Modeled on notebook.agency without the manipulative bits. Deployed to lesli.com, bulldoggeregistry.com, pedigreedatabase.ca, and globaldotmedia.com.

Commercial Content Silo Skill

2026-05

Productized content-strategy methodology that treats every site as a commercial silo where information exists only to support a money page. Reads the site, classifies every page by buyer intent (commercial / decision-stage / trust-proof / informational), scores each page and proposed page on a 10-dimension Commercial Value Score (Buyer Intent, Revenue Proximity, Search Demand, Competitive Opportunity, Local Relevance, AI Recommendation Potential, Trust Building, Conversion Potential, Internal Linking Value, Ease of Creation), then outputs a Silo Score (0-24) plus a four-layer build plan: Core Money Pages → Decision-Stage Pages → Trust & Proof Pages → Support Content. Internal-linking rules force every informational page to up-link to a money page in the first 1-2 paragraphs and again at close. AI Visibility layer adds answer-block paragraphs (40-60 words), entity signals, and schema patterns. Treats traffic as a side effect, not the goal.

Claude Code skillMarkdown strategy doc10-dimension scoring rubricSchema.org JSON-LD

Applied to two sites in May 2026. lesli.com baseline Silo Score 12/24 with 8-15 buyer-intent FAQs queued. globaldotmedia.com moved 5/24 → 22/24 in 12 days, shipping 8 schema-rich trust pages in one day (pricing, guarantee, process, proof, results, scam-objection, team, press) plus topic-aware insights CTAs.

Visit →

/handoff Skill (End-of-Session)

2026-04

Productized end-of-session skill for Claude Code. Produces a structured 5-section handoff (what was done, what is left, decisions taken, files touched, how to continue), updates project memory files, and prompts to add new shipped work to the portfolio. Built because multi-session-in-parallel work was losing context across sessions.

Claude Code skillMarkdown

First invocation captured this session itself; future sessions inherit full context with no manual handoff

Puppy Sales Success (PSS) - Multi-tenant SaaS

2026-04

Breeder SaaS platform with one-container-per-tenant architecture. 30 routes, 17 database tables, 14-field per-tenant theme system, pipeline automation with 16 editable templates, kanban admin UI, daily cron for follow-ups, PWA install prompt.

Next.js 16PrismaPostgreSQLDockerHetznerStripe

4 tenants live, Liberty Goldens as flagship case study

Visit →

Digital Marketing NB Free Tools Funnel

2026-05

Complete lead-magnet funnel on digitalmarketingnb.com. Six NB-tuned tools live on a single /tools hub: 2026 NB Small Business Marketing Playbook, Wellness Practice Website Checklist, Wellness Website Conversion Checklist, Google Business Profile Scorecard (40 signals scored out of 80 with NB benchmarks), What's Your Marketing Worth ROI Calculator (NB industry conversion benchmarks across trades, wellness, retail, hospitality, pro services, pet, B2B), and 30-Day Content Calendar. Each landing page composed from a single catalogue file (lead-magnets.ts); new tools ship by adding one entry plus an HTML asset, no new route or endpoint needed. Form submissions fire a GA4 lead_magnet_opt_in event with magnet_slug plus magnet_audience so per-tool conversion rate is measurable. Submission redirects to a noindexed /tools/thank-you page that shows a direct asset link, two audience-matched cross-promo tools, and a Visibility Report CTA. Built deliberately as a machine, not a series of one-off pages.

Next.js 16Tailwind v4SQLite leads pipelineResend deliveryGA4 eventsDockerHetzner

Six tools live and indexed. Full funnel loop closed: entry on /tools, opt-in with GA4 measurement, fulfillment via Resend, post-conversion cross-promo and Visibility Report pitch on thank-you. Catalogue-driven architecture so the 7th tool is an hour of writing, not an engineering task.

Visit →

Famous On Purpose (Book + 12-Event Series)

In Progress

Co-authored book with Eny Osung: 'How to Get Google and ChatGPT to Introduce You to the People You Were Meant to Serve.' 12 biweekly Wednesday live events, each becomes a chapter. First event Wed 2026-04-29.

Approved 2026-04-22, Episode 1 live April 29, book launches late 2026

Visit →

Webflow vs My Stack: The Honest Gap

2026-05

Long-form essay (1,800 words) comparing a self-hosted Next.js plus Docker plus Postgres stack with Webflow. Names where each stack wins, where the gap actually sits for a code-first builder moving into a Webflow shop, and a 90-day plan to close the gap with structure (Webflow University, five clone rebuilds, paired projects, a hybrid case study). Includes FAQPage schema and 5 hiring-committee FAQs.

Next.js 16TechArticle schemaFAQPage schema

Written for the BX Studio committee, public asset thereafter. Pairs with lesli.com/aivs as the engineering proof for the same audience.

Visit →

Self-Hosted Lead Magnet System (replaces Kit / ConvertKit / Mailchimp)

2026-04

Lead magnets hosted on the client's own site, with email addresses stored in the client's own admin database, and every signup delivered straight into the client's existing inquiry pipeline. No third-party email SaaS to subscribe to. Each PDF gets a branded landing page, a 4-field opt-in, an automated email delivering the guide as an attachment, and an instant breeder notification. Leads land in the same admin dashboard the client already uses for puppy applications, so follow-up happens in one place. First deployed to bearvalleypuppies.com with three magnets (Pomeranian, Dachshund, Puppy Prep Checklist).

Next.js 16PrismaPostgreSQLResend

Client owns their list. No $29-$99/month Kit or Mailchimp bill, no platform lock-in, no data-portability friction if the client ever leaves. Same system reusable across every PSS tenant.

Visit →

Multi-Tenant Breeder Admin Overhaul (Bear Valley Puppies)

2026-05

Eight-feature drop across the Puppy Sales Success multi-tenant admin in one evening. New DB-driven inquiry form (form_questions table with per-tenant editable questions, drag-reorder, conditional visibility, soft delete) replacing the hardcoded 19-field form. Manual Add Inquiry button with typeahead autofill that updates existing contacts in place instead of creating duplicates. Manual deposits and manual inquiries now auto-create the pipeline instance at the correct stage (eight historical deposits backfilled). Send-test email button on every template that fires a [TEST]-prefixed preview to the tenant's inbox without ever touching a real customer. Search box on Inquiries + Pipeline tabs. Hard-delete in pipeline drawer with double-confirm. CSV download on every list view. Monthly cron-driven safety CSV emailed to each tenant on the 1st (contacts + pipeline as Resend attachments). Stage Email Reference panel showing which email fires at which pipeline stage. Breed badge on every contact card across Pipeline / Inquiries / Deposits with detection upgraded to check four possible sources. Homepage + article text now editable via content_blocks (five homepage blocks + three article body blocks seeded). New testimonial blockType with image picker. Eight Reasons checklist replaced with client's own graphic.

Next.js 16PrismaPostgreSQLResend (CSV attachments)@dnd-kit/sortableDockerHetzner

Bear Valley client (Jan) went from "I have to message Lesli to edit form questions, homepage copy, or article text" to a fully self-service content + form + pipeline admin in a single evening. All features ship to every PSS tenant automatically. Monthly safety backup runs unattended at 7 AM on the 1st.

QuickBooks-Integrated Business Dashboard (Intuit-approved)

2026-05

Custom Next.js dashboard for a private business client, integrated with QuickBooks Online via OAuth 2.0 read-only. Passed Intuit's full production approval (App Details + Compliance questionnaire) on first submission. AES-256-GCM token encryption at rest, HMAC-signed CSRF state, automatic token refresh with 401 retry, signed-cookie sessions, single-tenant Hetzner container with no co-tenants, permanent audit log capturing every connect/disconnect/sync event with IP + user agent. Four read-only query-API fetchers (bank balances, AR aging, AP aging, unpaid bills) hit Account, Invoice, and Bill resources. Hand-coded EULA + Privacy Policy pages also shipped to clear the compliance gate.

Next.js 16QuickBooks Online APIOAuth 2.0AES-256-GCMSQLiteDockerHetzner

Sandbox-tested end-to-end (bank, AR, AP totals returning correct numbers). Intuit production credentials issued 2026-05-03 on first compliance submission. Client retains revoke-anytime control via Intuit's standard authorization flow.

Client Builds

2 entries

Bear Valley Puppies

2026-04

Built for Jan Francois (Lone Rock, WI): Pomeranian and Dachshund kennel site consolidating two legacy WordPress sites (bearvalleypomeranians.com + bearvalleydachshunds.com) into one. Tenant on the Puppy Sales Success multi-tenant SaaS. Round 2 (April 2026) shipped a full visual rebrand around Jan's new logo, a cream/navy/slate palette, two-image hero, three-photo strip with a Polaroid lightbox + hover captions, and 16 programmatic color silo pages (9 Pomeranian colors, 7 Dachshund colors) with Product + Breadcrumb JSON-LD. Inquiry form rebuilt with 8 required fields routing to the in-app pipeline. Admin gained drag-reorder photos (dnd-kit), bulk upload with progress, color-tagging that powers the silo galleries, free-text price + Video URL on every puppy, photo/video content blocks, and a 'View website' shortcut.

Next.js 16PrismaPostgreSQLDockerHetzneryet-another-react-lightboxdnd-kitPSS Multi-tenant SaaS

Live April 2026 with two breeds consolidated, full Round 2 rebrand shipped, 16 color silos generating long-tail SEO surface, lead-magnet PDFs delivering automatically, and a 2-week scheduled agent watching the legacy-domain redirect cutover.

Visit →

Liberty Goldens

2026-04

Full Next.js rebuild for Ruth Norlington's golden retriever kennel. 90+ routes, blog, 57 location pages, breeder admin dashboard. Live on Hetzner via the multi-tenant Puppy Sales Success platform.

Next.js 16PrismaSQLiteDockerHetznerResend

Live, indexed, generating organic traffic

Visit →

Agency Network

6 entries

Global.Media

2026-05

Eny Osung's UK book publishing and bestseller-campaign brand, rebuilt around a commercial content silo. Six service pages (Guaranteed Amazon #1 Bestseller £1,100, Book Writing & Publishing £3,000, Anthology Publishing, LinkedIn Event Management £100+/event, Author-Speaker Conferences, Social Media Management). Six author case studies with verified Amazon category wins, real buyer counts, and downloadable bestseller PDFs as primary-source proof. Ten insights articles seeded behind a secret-gated endpoint, dynamic sitemap. May 2026 trust-hub shipment added eight schema-rich pages in one day: /pricing (consolidated tier ladder, OfferCatalog schema), /guarantee (lifted from the pillar with WarrantyPromise schema), /process (90-day campaign HowTo schema), /proof (per-author #1 win cards with PDF report downloads), /results (aggregate stats with year table), /are-amazon-bestseller-services-a-scam (the head-on objection-handler page named the four scam patterns), /team (Person schema for Eny + Paula + Paulette + Alexis with sameAs to Companies House and LinkedIn), /press (named guest appearances + three owned shows). Topic-aware insights closing CTA per blog post, 4-column footer with a dedicated Trust column. Multi-domain Next.js 16 architecture sharing a container with enyosung.com via host-based middleware.

Next.js 16SQLiteDockerHetznerTraefikSchema.org JSON-LD

Silo Score moved from 5/24 to ~22/24 between April 25 and May 7. 74 verified Amazon #1 Bestseller awards plus 15 Hot New Release awards documented across 6 case studies (Paulette 32x, Coach David 12x, Lavern 10x, Prof Roxanna 8x, Sandra 7x, Jay 5x), spanning France, US, UK, Canada, and Australia. 10 insights posts live. 4 client bestseller-report PDFs deployed as primary-source proof. Trust hub complete: process + guarantee + proof + results + objection-handler + team + press all schema-rich and AI-quotable. Free LinkedIn masterclass scheduled 19 June 2026.

Visit →

Eny Osung (enyosung.com)

2026-04

UK independent book seller and personal branding consultant. Full site with content CMS, brand identity (purple/navy/cyan/slate), Famous On Purpose book promotion. Lives inside the lesli-com repo.

Next.js 16DockerHetznerTraefik

Live, content CMS at /admin/posts, integrated with Famous On Purpose launch

Visit →

Digital Marketing NB

2026-04

Provincial NB marketing agency site rebuilt on Next.js with 36 routes, schema, OG, sitemap. Migrated from WordPress.

Next.js 16DockerHetzner

Live April 2026, awaiting DNS cutover

Visit →

Fredericton Local SEO

2026-04

Hyper-local SEO for Fredericton businesses. 53+ pages, 36 industry visibility reports across restaurants/dentists/lawyers/plumbers/salons/auto repair, ATP content hub.

Next.js 16DockerHetzner

53+ pages live, 36 industry reports indexed

Visit →

VisibleVet.com

2026-04

Vet clinic visibility marketing brand. Schema-first Next.js rebuild, city pages, 8-phase 2026 Playbook, 16+ blog posts across PPC/Reputation/SEO/Maps/LLM silos.

Next.js 16DockerHetzner

Content silos live across 5 verticals, 16+ posts shipped April 2026

Visit →

lesli.com

2026-04

The agency site itself. 57+ pages, lead pipeline (replaces GHL), audit publishing engine, GSC-integrated results dashboard tracking 12 sites, multi-property merging.

Next.js 16SQLiteDockerTraefikHetznerGSC API

57+ pages, 50+ visibility reports published, lead pipeline active

Visit →

Sites I Own & Operate

8 entries

BOXBOXF1.io

2026-05

F1 race intelligence platform co-founded with Lance Rose for the 2026 Monaco Grand Prix launch window. Zero to 50+ URLs in 48 hours: a Next.js 16 + Postgres + pgvector stack on Hetzner with full schema markup (Article, DefinedTerm, FAQPage, SportsEvent, Person, SportsOrganization, BreadcrumbList), dynamic OG image generator at /api/og, citation linter enforcing a 'no source, no story' editorial rule (em-dash blocks, footnote resolution, weasel-word flags), per-page citation lists, and confidence labels on every analytical claim. Content covers 17 strategy glossary entries, 11 strategy explainers (including the Monaco GP 2026 strategy guide flagship), 10 driver profiles, 5 constructor profiles, 2 track hubs with verified Pirelli compound allocations and FIA session times, and DB-driven race-weekend hubs. Built to be the F1 source that AI engines (ChatGPT, Perplexity, Gemini, Claude) cite by default.

Next.js 16React 19TypeScriptTailwind 4PrismaPostgreSQLpgvectorAnthropic SDKResendCloudflareDockerHetzner

Live with HTTPS via Traefik + Let's Encrypt, GA4 and Google Search Console wired, Resend domain verified, Cloudflare Email Routing for lesli@ and lance@ inboxes, 50+ URLs in sitemap, dynamic OG previews, citation-backed editorial discipline. Launches publicly Monaco GP weekend June 5-7, 2026.

Visit →

OBBA Bulldogge Registry

2026-05

Olde Bulldogge Breed Association, the Olde English Bulldogge registry rebuilt from a SiteGround WordPress site to a Next.js 16 + Postgres knowledgebase on Hetzner. 16,890 dog records imported from the PedX archive with 13,244 sire/dam pedigree links auto-resolved, atomic OB10200-26 reg-number allocation, dashboard, admin, Stripe checkout, Resend transactional email, and 30+ legacy WordPress URLs auto-301'd. The content layer has grown to 60+ silo pages covering breed encyclopedia (10), health & care (15), buying & owning funnel (12), breeding reference (10), comparison pages (8), and a complete registration silo with naming policy. Schema layer is deep: Organization, Person, WebSite, Animal on every breed-relevant page, MedicalCondition on 5 condition pages, HowTo on 7 process pages, Service + Offer on the registration hub, and dedicated AI-discoverability assets at /llms.txt and /llm-info. Privacy-correct breeder directory hides 1,938 PedX-import contact records that lack proper kennel names. Wave 2 added PDF registration certificates and 5-generation photo pedigrees rendered via @react-pdf/renderer, multi-photo galleries per dog (max 10, sortable), Kennel Pro perks (logo ticker, verified badge, clickable website link), stud listings with fee + terms, Featured Dog product ($24 homepage / $9 breed-index), promo codes, and a dual-registration intake flow with cert + pedigree upload + admin review queue at /admin/registrations. Stripe rotated to OBBA's own account in May 2026 (receipts now say OBBA, not ABRA) with auto-provisioning on Kennel Pro and Featured Dog purchases. Launch campaign on 2026-05-24 activated 1,131 historical breeders via one-shot magic-link tokens at /claim/[token] (auto-creates User, auto-links matching Kennel by name, sets session cookie, drops the breeder into their dashboard). Bento broadcast sent at 100/hr drip rate with personalized claim URLs, plus a Day 7 nudge and Day 14 final reminder both filtered to skip anyone who's claimed. Real-time monitoring at /admin/claims. May 28 mega-session shipped the full puppy-handoff workflow as a three-phase build that closes the loop between breeders and the buyers their dogs go home with. Phase A added schema columns (assigned_at, followup_count, last_followup_at, dormant_at, DogStatus dormant, User marketing_optin), the /assign-puppy/[id] breeder form, server-side prefix lock on the registered_name input (locked kennel-prefix span plus editable suffix, mirrors the ABRA naming policy), a read-only-after-handoff banner with a reassign link, a pinned 'Needs buyer' badge that pushes pending puppies to the top of the breeder dashboard, and a breeding-rights state machine where only the breeder of record can grant rights (permanent) and only an admin can revoke. Phase B ships a daily /api/cron/puppy-followup endpoint protected by Bearer auth (CRON_SECRET), 10 personalized nurture emails plus a dormancy notice via Resend, and a Hetzner /etc/cron.d entry firing at 14:05 UTC. Each email leads with a different benefit (photo, certificate, microchip, story, titles, pedigree, dormant heads-up, final notice) and reuses the puppy_handoff ClaimToken so one click logs the buyer in. Phase C ships /reactivate-dog and a $20 Stripe checkout that clears dormant_at, resets the cadence to zero, flips status back to pending, and emails the buyer welcome-back, the breeder a heads-up, and admin a notification. Same session quietly fixed a Traefik-related bug where every form submit on the entire site was returning Location: https://0.0.0.0:3000/... because new URL(path, req.url) was resolving to the container's internal bind address; the originUrl(req) helper now respects X-Forwarded-Host across 17 route handlers (login, register-dog, photo upload, account, checkout, contact, reset-password, admin actions). Plus photo reorder buttons on every gallery, a four-surface died_date treatment (edit-dog Mark-as-deceased collapsible, dashboard split into active + In memoriam sections, In memoriam line on the public dog page, automatic stud-availability clear), and a fix for the /admin Server Component event-handler 500 that had been live since the initial scaffold.

Next.js 16PrismaPostgreSQLDockerTraefikHetznerStripeResendBento@react-pdf/rendererHetzner /etc/cron.d

Knowledgebase moat the WordPress site never had: 16,890 indexable dog profiles, 60+ schema-rich silo pages, AI-discoverability surface for ChatGPT/Claude/Perplexity, and persona-coverage funnel for active breeders, prospective puppy buyers, cross-registry breeders, and casual owners. Activation campaign on 2026-05-24 reached 1,131 historical breeders with personalized one-click magic links into their own dashboards. May 28 puppy-handoff trilogy turns each litter registration into a long-running nurture loop: breeder assigns puppy via /assign-puppy/[id], buyer receives a magic-link claim email, then a 10-step Resend cadence every 3 days nudges any buyer who hasn't claimed, and a $20 Stripe reactivation reopens any record that goes dormant after step 10. Same-day fix to the systemic redirect bug rescued login, register-dog, photo upload, checkout, contact, and every admin action from silently failing with ERR_ADDRESS_INVALID for every end user on the site.

Visit →

Rosebull American Bulldogs

2026-05

Personal kennel site for Lance and Lesli Rose's 29-year American Bulldog program. Replatformed from custom PHP on SiteGround to a standalone Next.js 16 + Postgres + Prisma container on Hetzner in a single session, replacing a multi-tenant SaaS placeholder that was leaking Bear Valley copy. Pulls 209 of Lesli's dogs read-only from the shared pedigreedatabase.ca MySQL archive, then writes kennel-only data (waitlist, litters, featured dogs, videos, blog, FAQs) to its own Postgres. Schema-first build: 24 JSON-LD types including Organization, LocalBusiness, Person, Animal per dog with sameAs to pedigreedatabase.ca, FAQPage on every money page, BlogPosting, Product/Offer, HowTo for the application flow, and BreadcrumbList sitewide. AI-visibility layer ships /llms.txt and an explicit allow-list for 11 AI bots (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, Applebot-Extended, Bytespider, CCBot, and 4 more). Aggressive screening puppy application with required breed-experience, intended-purpose, home-type, and current-dogs fields plus optional vet reference. Full admin panel: featured dogs curation, litter CRUD with status workflow, waitlist with status pipeline + CSV export, video manager, cross-site dog photo upload to pedigreedatabase.ca via shared token, blog editor, FAQ CRUD. 12 long-form blog posts ported from the legacy PHP with HTML body rendering. 21 location pages plus a Dogs Bred at Rosebull lineage archive that preserves the ABRA breeder-prefix-stays-forever convention as a long-tail SEO surface. 40+ legacy redirects (WordPress, .shtml, .php) catch every backlink earned since 2005.

Next.js 16React 19Tailwind 4PrismaPostgreSQLmysql2DockerTraefikHetznerResendbcryptjs

Replatformed in one session: 17 public routes returning 200, 209 dogs live, 12 blog posts ported, 24 JSON-LD schema types, AI-bot allowlist + /llms.txt, full admin panel. Cutover from the multi-tenant pss-ai container completed cleanly with Bear Valley and Liberty unaffected.

Visit →

Freddy Local — Fredericton Business Directory

2026-05

GBP-verified-only Fredericton directory plus an events calendar with 300+ live events, a 4-category marketplace, a daily food truck tracker, NB attractions guide, and Friday in Freddy newsletter. Daily auto-ingest pipeline pulls events from 7 sources (Eventbrite, Bandsintown, Songkick, AllEvents, Playhouse, NB Provincial Exhibition, Kings Landing) via JSON-LD + a 2-step crawl parser, deduplicates, and auto-publishes. Public submission forms gated by Cloudflare Turnstile plus a server-side honeypot, with Resend admin notifications on every new submission landing in the moderation queue.

Next.js 16SQLiteDockerHetznerScraperAPIsystemd timerschema.org Event JSON-LDiCal RFC 5545Cloudflare TurnstileResend

300+ events live and growing daily, full multi-tenant directory engine reusable across other cities

Visit →

DogResources

2026-04

350+ page dog resources content hub: 23 tools, 33 breed hubs, 89 articles, breeder directory with submission system. April 2026 visual overhaul shipped a text-free homepage hero and 90 unique AI-generated images across every blog post via a custom JSON-prompt batch pipeline using OpenAI gpt-image-1 (~$3.81 spend). New BlogHero component renders editorial-quality 3:2 imagery on every article and homepage card.

Next.js 16OpenAI gpt-image-1DockerHetznerSQLite

350+ pages, 90 unique editorial blog images shipped in a single batch, mobile text-on-text hero issue resolved

Visit →

ABRA1st.com

2026-04

American Bulldog Registry of America official registry site: litter registration, certificate generation, 3-gen pedigree printing, breeder self-service dashboard.

PHPMySQLSiteGroundStripe

Registry functions live, AB36550-26 series active, breeder edit-dog shipped

Visit →

Pedigree Database

2026-04

Public American Bulldog archive: pedigree search, breeder directory, classifieds, membership tiers. COI calculation for every dog, breeder visibility scoring, claim system.

PHPMySQLSiteGroundStripeResend

Thousands of pedigree records, COI calculated for every dog, scraper running

Visit →

Dreamer's Bliss Pet Transportation

2026-04

Cross-border pet transport business co-owned with Melisa Guyett (founder, commercial carrier license holder, based in Comber ON). Lesli runs the online side and most of the operations from NB. Launched April 2026 as a 68-page Next.js build, then expanded the same month into an 85-URL partner-network hub: 12 breeder, rescue, and cattery profile pages spanning QC, ON, NS, OH, Puerto Rico, and Russia, plus a new /transport-partners section featuring the peer pet-shipping companies (Paws en route, Petsgo, Airbound Pets) that subcontract us for ground legs. Quote form, Stripe deposits, Google Reviews integration, customs broker hub, and AI-discoverable schema sitewide.

Next.js 16DockerHetznerStripeResendGoogle Places API

Live April 2026 with 68 URLs at launch, expanded to ~85 URLs and a 15-partner trust network. Quote requests now arrive from search and partner referrals, not just word of mouth.

Visit →

Tools & Methodologies

36 entries

Job Finder Agent

2026-06

A daily AI agent that reads a written profile (target lanes, geography rules, salary floor, dealbreakers), searches job sources every morning on a tiered rotation, scores every posting 0-10 against the profile with a one-line reason and a one-line concern for each, and emails only the roles that clear the bar. Quiet day means no email. It never applies for anyone: the machine does discovery and explanation, the human keeps judgment and every send. Runs on a server cron for pennies a day.

PythonClaude (Sonnet)DataForSEO SERPSQLiteResendHetzner cron

Live daily. First run surfaced 4 qualified roles including two the manual search had missed.

Signal-Based Pipeline Intelligence System

2026-06

A working pipeline creator built in 48 hours as a job-application demo for an industrial software vendor. It monitors public signals (job postings, expansions, contracts, press releases) across 32 real companies in four industrial verticals and scores each on an Expertise Bottleneck Index: evidence that scarce, traveling, or retiring expert knowledge is constraining operations. Every claim cites its source URL. Each account gets a brief, stakeholder roles to find, and draft outreach referencing a specific observed signal. The scoring validates itself against known high-fit profiles before it is allowed to publish, and nothing ever auto-sends: the machine collects, ranks, and explains; the human judges and owns every conversation.

PythonSQLiteClaude (Haiku + Sonnet)Google News RSSDataForSEOeval-gated scoringstatic dashboard behind basic auth

Live gated demo (available on request). Submitted with the application it was built for; the eval suite independently ranked a verified real customer of the target company near the top of the list.

/linkedin-outreach Skill (Manual-Send Cold Outreach)

2026-05

Productized Claude Code skill that drafts personalized LinkedIn connection messages plus 2-step follow-ups for a batch of prescreened prospects. Reads CSV output from the existing Apify prescreen + LinkedIn-match pipeline. Loads the Recommendation Economy north star and locked positioning copy. Self-grades every draft against voice rules (no em dashes, no "audit" or "free" in client copy, no generic openers, no buzzwords). Outputs a paste-ready CSV the operator reviews and sends manually from their own LinkedIn account, plus a markdown review doc and an empty send-log shell to fill in. Hard gate: never auto-sends. Built as the deliberate alternative to MCP-based auto-send tools (Gojiberry-style) that contradict the "recommendation economy" positioning and create LinkedIn account-restriction risk at volume.

Claude Code skill (Markdown)Apify CSV inputSub-agent invocationVoice-rule self-grader

Lets the operator scale personalized outreach without surrendering their LinkedIn account, their positioning, or their prospect data to a third-party SaaS. Same Apify infrastructure that built the Fredericton 247-business prescreen powers the drafting input.

LinkedIn Amplifier - Click-Through Sample Carousel Proof Page

2026-05

Sales-page proof asset for the $1,200 CAD/mo LinkedIn Amplifier offer. Three real 10-slide sample carousels built for a prospect (agentic-advertising founder John at Synter) in his own brand. Each cover opens a full-screen lightbox viewer with prev/next arrows, dot navigation, keyboard support (arrows + Esc), and body-scroll lock. 30 final slides served as JPEG q88 at 1080x1350 (~3.5 MB total). Codex CLI workaround used to render the slides via ChatGPT subscription when the OpenAI API tier cap was hit (reusable script: codex_render.py). Lives at lesli.com/linkedin-amplifier#see-the-work as the See the work section between Timeline and Who-it's-for.

Next.js 16React client componentCodex CLI image_gengpt-image-2Custom lightbox

Prospect-facing proof that the productized service delivers on-brand work. Reusable workflow: any future prospect can preview the exact carousels their first month would produce. No third-party lightbox dependency.

Visit →

Digital Marketing NB Free Tools Funnel

2026-05

Complete lead-magnet funnel on digitalmarketingnb.com. Six NB-tuned tools live on a single /tools hub: 2026 NB Small Business Marketing Playbook, Wellness Practice Website Checklist, Wellness Website Conversion Checklist, Google Business Profile Scorecard (40 signals scored out of 80 with NB benchmarks), What's Your Marketing Worth ROI Calculator (NB industry conversion benchmarks across trades, wellness, retail, hospitality, pro services, pet, B2B), and 30-Day Content Calendar. Each landing page composed from a single catalogue file (lead-magnets.ts); new tools ship by adding one entry plus an HTML asset, no new route or endpoint needed. Form submissions fire a GA4 lead_magnet_opt_in event with magnet_slug plus magnet_audience so per-tool conversion rate is measurable. Submission redirects to a noindexed /tools/thank-you page that shows a direct asset link, two audience-matched cross-promo tools, and a Visibility Report CTA. Built deliberately as a machine, not a series of one-off pages.

Next.js 16Tailwind v4SQLite leads pipelineResend deliveryGA4 eventsDockerHetzner

Six tools live and indexed. Full funnel loop closed: entry on /tools, opt-in with GA4 measurement, fulfillment via Resend, post-conversion cross-promo and Visibility Report pitch on thank-you. Catalogue-driven architecture so the 7th tool is an hour of writing, not an engineering task.

Visit →

Commercial Content Silo Skill

2026-05

Productized content-strategy methodology that treats every site as a commercial silo where information exists only to support a money page. Reads the site, classifies every page by buyer intent (commercial / decision-stage / trust-proof / informational), scores each page and proposed page on a 10-dimension Commercial Value Score (Buyer Intent, Revenue Proximity, Search Demand, Competitive Opportunity, Local Relevance, AI Recommendation Potential, Trust Building, Conversion Potential, Internal Linking Value, Ease of Creation), then outputs a Silo Score (0-24) plus a four-layer build plan: Core Money Pages → Decision-Stage Pages → Trust & Proof Pages → Support Content. Internal-linking rules force every informational page to up-link to a money page in the first 1-2 paragraphs and again at close. AI Visibility layer adds answer-block paragraphs (40-60 words), entity signals, and schema patterns. Treats traffic as a side effect, not the goal.

Claude Code skillMarkdown strategy doc10-dimension scoring rubricSchema.org JSON-LD

Applied to two sites in May 2026. lesli.com baseline Silo Score 12/24 with 8-15 buyer-intent FAQs queued. globaldotmedia.com moved 5/24 → 22/24 in 12 days, shipping 8 schema-rich trust pages in one day (pricing, guarantee, process, proof, results, scam-objection, team, press) plus topic-aware insights CTAs.

Visit →

/linkedin-article Skill

2026-05

Converts an existing audit deliverable into a publishable LinkedIn Article (1,500 to 2,500 words, long-form). Reads the audit HTML plus the matching project memory, applies the LinkedIn-specific voice rules, and produces a draft using an 8-section template. Saves to a versioned drafts folder for review and manual paste into the LinkedIn editor. (LinkedIn has no public API for Articles, so the manual-paste step is unavoidable.)

Claude Code skillMarkdown draftsProject memory integration

Sprint table seeded with 9 audit-to-article conversions. Pillar 2 of the 5-pillar LinkedIn Articles content strategy.

/speak Skill (Spoken-Word Scripts)

2026-05

Drafts or revises any spoken-word script across 8 formats: LinkedIn video, podcast, keynote, conference talk, sales pitch, job talk, investor pitch, demo, webinar, sales-call open. Loads a How to Speak manifesto as the source of truth, applies voice rules, drafts open + body + close with stage notes, and self-grades against a rubric with auto-fail conditions. The sister-skill to the social /post-writer, but for spoken delivery instead of written.

Claude Code skillHow to Speak manifestoSelf-grading rubric

8 spoken formats supported. Auto-fail grader catches voice violations before delivery. Used for client podcasts, keynote prep, and sales-call openers.

/llm-info Skill (AI Discoverability Files)

2026-05

Generates and deploys two AI-discoverability assets for any site: a brief /llms.txt (machine-readable Markdown summary) and a rich /llm-info page (HTML route with Organization, Person, and WebSite schema, named frameworks, notable clients, neutral citation guidance). Auto-discovers the brand brief, project memory, site stack, and any existing files before drafting. Asks before adding new trademarks or featuring new clients. Deploys per site type: Hetzner Docker rebuild for Next.js sites, SSH for SiteGround PHP sites.

Claude Code skillSchema.org JSON-LD/llms.txt specSSH deployDocker rebuild

Modeled on notebook.agency without the manipulative bits. Deployed to lesli.com, bulldoggeregistry.com, pedigreedatabase.ca, and globaldotmedia.com.

Article Engine

2026-05

Long-form SEO and AI-citation article pipeline. Reads a site's strategy doc, mimics the existing voice, outputs ready-to-deploy Markdown or a Next.js page with full schema. Four-layer architecture (strategy, research, write, AI-optimize) so the same skill can run against any of the agency or owned-site brands. Built as a native Claude Code skill, not an n8n workflow, so the model carries the full context of the site, the brand brief, and the silo plan into every article.

Claude Code skillSchema.org JSON-LDMarkdownNext.js 16

v2 deployed to pedigreedatabase.ca: 6 articles live and indexed in GSC, with dog.php JSON-LD schema added across 29,000+ dog pages and ImageObject schema across 12,151 photos in the same engagement.

Claude Code Skills Library

2026-05

Twenty-plus production Claude Code skills built for specific business applications across SEO, content, image generation, deploy automation, and internal ops. Each skill is a self-contained Markdown manifesto plus optional supporting docs that turn a recurring workflow into a repeatable one-line invocation. The library is the engine behind every productized offer: visibility reports, LinkedIn audits, author playbooks, content silos, social posting, AI-discoverability files, and end-of-day wiki digests all run through skills that I authored, version-control, and refactor as the work evolves. Available to build custom skills for clients who want their own internal workflows productized inside Claude Code.

Claude Code skill manifesto (Markdown)Sub-agentsMCP serversSlash command invocationMemory system integrationHooks + cron

Skill library powers every productized deliverable on this portfolio. Roughly 20 skills in active rotation. Custom-skill engineering offered as a client deliverable for teams that want their internal SOPs encoded as Claude Code commands.

Visit →

AIVS Scoring Engine + Client Dashboard

2026-05

Automated AI Visibility Score grid built in TypeScript on Next.js plus SQLite. Three-platform triangulation against Anthropic Claude, OpenAI ChatGPT, and Perplexity Search Retrieval (not Sonar), plus Layer 1 and Layer 2 task checks (HTTPS, llms.txt, robots AI directives, Organization, Person, Service, FAQPage, BreadcrumbList, AggregateRating schema). Runs on a weekly Hetzner cron at roughly half a cent per site per run after caching. The public case study at lesli.com/aivs renders a comparator dataset for BX Studio and the four other Webflow Enterprise Partner of the Year 2025 finalists (Edgar Allan, MakeBuild, N4 Studio, TAG), with a read-only live dashboard at lesli.com/aivs/live.

Next.js 16TypeScriptSQLite (WAL mode)better-sqlite3Anthropic SDKOpenAI SDKPerplexity Search APIcheeriop-queueDockerHetzner

Live across 10 owned sites plus 5 EPOTY 2025 comparator agencies. 150 score cells plus 100 task cells captured in a single run for under one dollar. Public case study with the cost-overrun war story (key burned $30.85 in one day; fix shipped: per-key daily cap, result caching, weekly not daily cron).

Visit →

LinkedIn Sprint Preview

2026-05

Productized $497 USD one-time SKU that sits between the $397 LinkedIn Visibility Report and the $1,497 90-Day Sprint. Custom-built lead magnet template, Newsletter Issue #1 draft in the buyer's voice, and a funnel architecture diagram showing how their existing assets stack into one inbound machine. Built around the buyer's own signature framework, book, or methodology. 48-hour delivery, native embedded intake form, full refund if late or not useful. Productized version of the leave-behind play first run with Tomar Beh.

Next.js 16Stripe Checkout (one-time)ResendNative intake formClaude Code skill

Live May 2026 as the ladder middle rung. Stripe checkout + intake + manual fulfillment flow all wired and smoke-tested. Sprint Preview cost credits toward full Sprint upgrade within 30 days.

Visit →

LinkedIn Amplifier

2026-05

Productized done-for-you LinkedIn growth service at $1,200 CAD/month recurring. Three carousels per week plus one Pulse Article per month, written, designed, scheduled, and tracked. First month bundles the LinkedIn Visibility Report (LVS-100) and a profile foundation sweep so the amplifier never runs on a broken profile. The Article is the AI-citation asset, the carousels are the dwell-time distribution channel, and the LVS-100 is the foundation gate. Stripe subscription self-checkout from the offer page; webhook lands every purchase as a lead and triggers an onboarding kickoff email.

Next.js 16Stripe Checkout (subscription mode)ResendClaude Code skillLinkedIn Pulse

Live May 2026 as a standalone EMC-adjacent SKU outside the canonical ladder. Algorithm-anchored value stack ($8,047 first-month / $4,900 ongoing) for a $1,200/mo entry price, designed to validate demand before raising.

Visit →

Backlink Skill Chain (Skills 1 + 2)

2026-05

Two-skill productized methodology for systematic backlink earning, built in lesli-com as Claude Code skills with TypeScript runners. Skill 1 (link-opportunity-research) hits the DataForSEO Backlinks API for a target's gap vs 3-5 competitors, applies hard filters, scores survivors 0-100 across five real signals (authority, multiplicity, topical relevance, replicability, outreach-ability), per-finalist sample enrichment via /backlinks/backlinks/live, and writes the top 5 vetted prospects to a timestamped markdown file. Catches site-builder UGC, auto-aggregator pages, newsletter UGC, and translation-page repetition as separate noise categories so the top 5 is real outreach targets, not noise. Skill 2 (linkable-asset-builder) takes one prospect from Skill 1, fetches the actual competitor pages the prospect links to, classifies the asset type, identifies the citation reason, and judges replicability. Two-stage gated: Stage 1 is a cheap analysis with a NOT-VIABLE escape hatch that catches programmatic and integration-based link patterns Skill 1 misses; Stage 2 is the actual draft, gated behind explicit human approval. Anti-AI-slop validator on every output. Hard cost ceilings ($0.10 Stage 1, $2.00 total). Never publishes; output is always a markdown draft for human review.

TypeScripttsxDataForSEO Backlinks APIAnthropic SDK (Haiku for analysis, Sonnet for drafting)filesystem cache (1-day TTL)Claude Code skill registry

Skill 1 shipped at v1.2 after catching translation-page spam, auto-aggregator and newsletter UGC noise patterns that initially crowded out real wins. Skill 2 shipped at v1.0; Stage 1 sanity test correctly returned NOT_VIABLE on a programmatic-integration prospect at $0.0033. Skill 3 (outreach) intentionally scoped out until Skill 2 produces several real drafts.

Entity Disambiguation: Winning a Contested Brand Name

2026-05

Case study of applying the Entity Anchor Method to lesli.com itself, a brand name contested by Leslie's Pool Supplies, Ningbo Lesli, and a Wikipedia acronym. Baseline GSC position for 'lesli rose' was 13.9, with the domain not surfacing for a navigational query of its own name. The fix shipped in a single working day: created Wikidata item Q139919427 with full Person property set, uploaded a real selfie to Wikimedia Commons, enriched Person and Organization schema sameAs from 2 URLs to 9 spanning Wikidata, LinkedIn personal and company vanity, Crunchbase, Google Business Profile, and four sister domains. Added a Next.js proxy returning 410 Gone for 39 WordPress ghost URLs from the pre-Next.js site so Google drops them in 1-2 weeks instead of 6-12 months. Same playbook I run for every client.

schema.org Person + OrganizationWikidataWikimedia CommonssameAs crosswireNext.js 16 proxy410 Gone

Shipped 2026-05-25. Baseline position 13.9 on 'lesli rose' to beat as Google recrawls the enriched entity graph over the next 30 days.

Visit →

The AI Visibility Stack™

2026-05

The trademarked five-layer methodology for making businesses visible to Google and every AI assistant that decides who gets recommended. Technical SEO Foundation → Schema & Structured Data → Content Architecture → E-E-A-T Signals → AI Discoverability. Each layer is built on the one below it. Skip a layer and the stack collapses. Most agencies sell AI discoverability as a bolt-on; this is the one that builds it into the foundation.

Canonical methodology on /approach, homepage, and llms.txt. The named asset behind every visibility report and client engagement.

Visit →

Tools Hub

2026-05

The single discoverable home for every free tool I ship. Featured Visibility Snapshot card + four supporting tools (Build It in the Right Order course, LinkedIn Growth Tool, Visibility Scorecard, Coaching Website Scorecard, AI Visibility Checklist). CollectionPage and BreadcrumbList schema register every tool as a WebPage so AI systems can enumerate them. Resolves the prior /tools 404.

Next.js 16CollectionPage + BreadcrumbList schemanavy + teal + coral palette

Live hub. Linked from footer, sitemap, and every individual tool page.

Visit →

AI Visibility Checklist

2026-05

A 28-point interactive self-assessment that walks any business owner through Understand, Trust, and Recommend. Live checkbox scoring, progress bar, score circle, and a print-styled PDF export so the saved-state checklist becomes a lead-magnet asset. HowTo schema, indexed, sitemap-registered, linked from /tools and footer. Built so a prospect can complete it in 5 minutes and walk away with a real diagnosis they can act on.

Next.js 16 client componentReact state for live scoringPrint-color-adjust CSS for PDF exportschema.org HowTo

Top-of-funnel lead magnet. Featured card slot on Lesli's personal LinkedIn profile + footer Free Tools column.

Visit →

Monthly Visibility Tracking ($199/mo retainer)

2026-04

Productized recurring revenue tier built on top of the one-time Visibility Report. Each month re-runs the full report against the client's baseline, tracks score deltas per category, sentiment shifts, share-of-voice movement, and emails a fresh prioritized action list. Built on the /seo-audit-review skill so the heavy lifting is the diff, not a cold re-audit. Quarterly $999/yr tier preserved for stable industries.

Claude Code skill/seo-audit-reviewResend

Year 1 with monthly tracking lands at $3,385 vs HubSpot Marketing Hub Pro at $10,680. Same outcome, different value capture.

Visit →

AI Visibility Check (10-prompt lead magnet)

2026-04

Free intake tool delivering a 10-prompt AI visibility check across ChatGPT, Perplexity, and Gemini within 24 hours. Tailored prompts derived from the buyer's actual recommendation queries plus their named competitor. Manual fulfillment by design at this volume; the page is the funnel hook, the deliverable is human-curated. Differentiates from the broader free Visibility Report by being narrow, fast, and AI-only.

Next.js 16/api/leads pipelineCloudflare TurnstileResend

Lead-magnet equivalent of HubSpot's 25-prompt freemium. Captures email and intent without the platform commitment.

Visit →

Lesli Rose vs HubSpot AEO (positioning page)

2026-04

Same week HubSpot launched their AEO product to 288K customers, shipped a side-by-side feature and pricing comparison page. 12 features compared with explicit edge calls (Lesli wins / HubSpot wins / tie), pricing math contrasting HubSpot Marketing Hub Pro at $890/mo against the standalone $997 Visibility Report plus $199/mo tracking. Used as a sales asset and a SEO target for queries like 'hubspot aeo alternatives'.

Next.js 16JSON-LD Article and FAQ schema

Live within hours of HubSpot's announcement. Frames the agency offer against the largest competitor in the category.

Visit →

Bot Traffic & Origin Protection

2026-04

Most small-business sites bleed bandwidth, fake analytics, and origin server load to scrapers the owner cannot see. Included as a deliverable in every SEO Foundation engagement: 7-day Cloudflare analytics review, Bot Fight Mode plus custom WAF rules deployed via API, scraper user-agent block list, country-level Managed Challenge for VPS-origin traffic. Verified bots (Googlebot, GPTBot, ClaudeBot, PerplexityBot) explicitly preserved so AI Visibility is not affected.

Cloudflare WAFCloudflare Bot Management APIRulesets APIGraphQL Analytics

Proven on 9 zones in one session: Bot Fight Mode plus 2 custom WAF rules per zone, 7-day verdict report scheduled. Now bundled into client engagements as a discovery + protection layer.

Puppy Sales Success (PSS) - Multi-tenant SaaS

2026-04

Breeder SaaS platform with one-container-per-tenant architecture. 30 routes, 17 database tables, 14-field per-tenant theme system, pipeline automation with 16 editable templates, kanban admin UI, daily cron for follow-ups, PWA install prompt.

Next.js 16PrismaPostgreSQLDockerHetznerStripe

4 tenants live, Liberty Goldens as flagship case study

Visit →

/handoff Skill (End-of-Session)

2026-04

Productized end-of-session skill for Claude Code. Produces a structured 5-section handoff (what was done, what is left, decisions taken, files touched, how to continue), updates project memory files, and prompts to add new shipped work to the portfolio. Built because multi-session-in-parallel work was losing context across sessions.

Claude Code skillMarkdown

First invocation captured this session itself; future sessions inherit full context with no manual handoff

/infographic Skill

2026-04

Generates visual infographics, cheat sheets, posters, and data visualizations from a URL or freeform content using Gemini image generation. Interactive planning step with art-style selection, section-by-section review, and an ASCII layout preview before any pixel is generated. Built so the human reviews the structure before paying for the image.

Claude Code skillGemini image generationASCII layout preview

Used for visual summaries and one-pagers across content engagements. Saves a designer round-trip when the asset just needs to be clear and on-brand.

/newsletter-maker Skill

2026-04

Generates weekly industry newsletters for any niche. Discovers the week's news, writes in the brand's voice, outputs HTML ready to paste into Bento or any other email platform. One skill that scales from Friday in Freddy (local Fredericton newsletter) to specialized industry roundups for client brands.

Claude Code skillHTML emailNews discoveryBrand voice loading

Active in the Friday in Freddy 12-week anchor plan and pluggable into any new newsletter brand. Pairs with /bento-broadcast for delivery.

/eod-digest Skill (Autonomous End-of-Day Digest)

2026-04

Autonomous end-of-day skill that fires from a midnight cron without supervision. Mines the day's Claude Code work for ideas, strategies, lessons, and errors-fixed, then appends dated entries to the appropriate Obsidian vault files at C:\Users\lesli\Lesli's Brain\. Reversibility handled by obsidian-git so every digest is a recoverable commit. Works while the human sleeps.

Claude Code skillCron-triggered autonomous modeObsidian vaultobsidian-git

Runs nightly without intervention. Turns days of Claude Code work into structured wiki entries that compound over months.

Social Posting System (6-skill pack)

2026-04

A chained six-skill system that turns one daily prompt into a graded, brand-correct, scheduled social post. /brand-brief captures offer, ICP, CTA, voice, and do-not-say list. /content-plan generates a 12-week plan with 3-4 content pillars and 36-48 topics. /content-coach is the daily entry point: pulls the next undrafted topic, hands it to /post-writer for the hook + body + CTA, then to /post-grader for scoring against voice rules and platform-specific hook strength (auto-fails forbidden tokens like em dashes or LinkedIn-style 'I' openers). /post-scheduler publishes graded 8+ drafts via Blotato MCP using next-free-slot queueing, with a posting log for receipts.

Claude Code skill (x6 chained)Blotato MCPMemory-backed brand briefsContent-plan persistence

Active across 7 brands. Replaces the daily 'what should I post' decision with one command. Grader auto-fails on every voice rule before anything queues, so brand drift is caught before publishing.

Author Brand Sales Engine

2026-04

Productized strategy playbook for author clients. Researches the author end to end (Amazon, Goodreads, podcast presence, awards, AI visibility), then drafts a 22 to 26 section playbook covering positioning, three named buyer bundles, email and lead magnet, Amazon optimization, direct sales, institutional outreach, content silo, AI Visibility, podcast tour, Pinterest, awards, and an affiliate plus service revenue stack. For service-led nonfiction authors (hypnotherapists, coaches, consultants), the framing is unusual: the book is the credibility anchor, not the income engine, and Section 27 expands into a full multi-stream revenue ladder. Output is a private noindexed HTML page deployed to a private URL on lesli.com plus a downloadable Word doc.

Claude Code skillNext.js 16HTMLDOCX

First production run shipped April 2026 (private deliverable). Skill end-to-end: research, draft, deploy, smoke-test, hand over the live URL.

Visibility Report Engine

2026-04

Productized SEO and AI Discoverability audit system with 4 variants (standard, free teaser, coaching-specific, independent quarterly). Each produces a self-contained branded HTML report with 18 sections covering technical SEO, schema, AI discoverability, bot traffic and origin protection, content silos, and an implementation roadmap.

Claude Code skillNext.js 16HTML

50+ visibility reports published to lesli.com/{slug}-audit/

LinkedIn Carousel System (City + Vertical Series)

2026-04

Reusable HTML carousel system for the 'I audited every {vertical} in {city}' LinkedIn series. Seven square slides (1080x1080) brand-styled, with content separated cleanly so future carousels are a copy edit plus a Chrome Print-to-PDF away. Built as the publishing pattern behind the LinkedIn audit's signature recommendation. Productizable as a client deliverable for any service business that wants to ship a vertical-specific visibility series without a designer in the loop.

HTMLCSS @page print rulesChromium Print-to-PDFLinkedIn Document posts

Johns Creek (GA) carousel ready to publish; Dallas, Atlanta, Austin city visibility reports already drafted and queued as the next three drops.

Lesli Rose LinkedIn Case Study

2026-04

Live public 12-week LinkedIn audit case study. Lesli's own profile is the proof-of-concept for the LinkedIn Growth Tool. Weekly progress log shipped every Friday through July 2026.

LVS 52 to 75+ target, SSI 44 to 65+ target, public weekly tracking

Visit →

LinkedIn Growth Tool (LVS-100)

2026-04

Productized LinkedIn Visibility Score audit. 7 categories scored on a 100-point rubric anchored to April 2026 LinkedIn algorithm reality. Outputs a self-contained HTML report with peer benchmarks, headline rewrite, 30-day roadmap, and a Lead Conversion Playbook.

Claude Code skillNext.js 16HTML

Live case study on Lesli's own profile (LVS 52 baseline, public weekly progress log)

Visit →

AI Visibility Build

2026-04

Productized middle-rung offer between the visibility report and the full engagement. Three vibe-coded tools (calculator, comparator, lookup) shipped in fourteen days, embedded on the client's site, schema-engineered for AI citation. Source code handed over. Starting at $2,500 CAD. The wedge: nobody else productizes vibe-coded GEO assets in the gap zone between $2K education and $20K agency builds.

Next.js 16Claude CodeStructured Datallms.txtResendTurnstile

Launched April 2026 as the wedge play from the vibe-coding-consulting market analysis

Visit →

The Entity Anchor Method

2026-04

The three-step entity-clarity protocol that powers Layer 5 of the AI Visibility Stack™: Entity Home + Corroboration + Signposting. The same system applied to a person, a business, or a brand. Anchored to Kalicube's Knowledge Panel framework with Wikidata as the highest-ROI move.

Used in every visibility report, every client engagement, and the Famous On Purpose book

Visit →

Authored Work

4 entries

Famous On Purpose (Book + 12-Event Series)

In Progress

Co-authored book with Eny Osung: 'How to Get Google and ChatGPT to Introduce You to the People You Were Meant to Serve.' 12 biweekly Wednesday live events, each becomes a chapter. First event Wed 2026-04-29.

Approved 2026-04-22, Episode 1 live April 29, book launches late 2026

Visit →

Marketing Has One Job: Pipeline. Systems Do It Better Than Heroes.

2026-06

Sequel to the B2B SaaS SEO piece. The argument: pipeline is qualified opportunities moving through a repeatable process, activity metrics lie, heroics don't compound, and the marketing system beats the marketing hero. Covers signal-based prospecting (a list is a guess, a signal is evidence), scoring that learns, the machines-collect-humans-judge line, and the succession test: if your best marketer quit tomorrow, would the pipeline notice?

Published on lesli.com and LinkedIn as part of the pipeline-systems series.

Visit →

Webflow vs My Stack: The Honest Gap

2026-05

Long-form essay (1,800 words) comparing a self-hosted Next.js plus Docker plus Postgres stack with Webflow. Names where each stack wins, where the gap actually sits for a code-first builder moving into a Webflow shop, and a 90-day plan to close the gap with structure (Webflow University, five clone rebuilds, paired projects, a hybrid case study). Includes FAQPage schema and 5 hiring-committee FAQs.

Next.js 16TechArticle schemaFAQPage schema

Written for the BX Studio committee, public asset thereafter. Pairs with lesli.com/aivs as the engineering proof for the same audience.

Visit →

Build It in the Right Order (30-Min Presentation)

2026-05

Full-script 30-minute marketing presentation delivered to the Build with Sarah community (65 members). Covers the 5-step framework: offer clarity, website as FAQ machine, SEO and AI Visibility built in from day one, on-site content strategy, and single-channel traffic. Competitor research runs as a throughline across all five steps.

Delivered to women-in-AI community; carousel tool offered as freebie at Step 5

Visibility Reports Delivered

3 entries

Tomar Beh: LinkedIn Audit + Sprint Preview leave-behind

2026-05

UK AI consultant for nonprofits, author of Start AI Right for Nonprofits, founder of AI CoLab Studio and M-prez Enterprise. LVS 59/100 across 7 categories with peer benchmark against Beth Kanter, Nathan Chappell, and Shereese Floyd (all US, leaving the UK governance angle wide open). Shipped with a Sprint Preview leave-behind containing v1 of the SAFE AI Policy Pack (4-page UK GDPR-flavoured template), a draft newsletter issue for her existing AI & the Next-Gen Organisation newsletter, and a funnel architecture diagram wrapping her book and 99-subscriber newsletter into one inbound machine. First example of the productized Sprint Preview play.

Top findings: zero recommendations, duty-style experience bullets, biweekly newsletter under-leveraged at 99 subscribers, 80% of feed posts are text-only when carousels deliver 6.60% engagement. Recommended pivot: amplify the existing newsletter to weekly, ship the SAFE AI Policy Pack as a Featured-section lead magnet, cross-promote on every carousel. Cold-DM leave-behind play converted to a positive reply within 24 hours.

Visit →

AI Marketing Automation SaaS (79-page site, blank HTML)

2026-05

A CRM and AI marketing automation platform -- AI voice agents, four pricing tiers, 79 pages of service and industry content, founded 2023, Massachusetts-based -- whose marketing site is a React Single Page Application with no server-side rendering. Every AI crawler (GPTBot, ClaudeBot, PerplexityBot) receives one line of meaningful HTML: a blank div. No title tags. No meta descriptions. No schema. Zero of eight recommended schema types present. No /llms.txt. No third-party review listings on G2, Capterra, or Product Hunt. The platform does not appear in any AI response to buyer-intent queries for CRM or marketing automation.

Scores: Technical 38, On-Page 12, Content 10, Schema 0, AI Discoverability 22. Fix path: SSR migration (20h), meta + schema package (6h), llms.txt + AI crawler directives (2h). Infrastructure problem, not a brand problem.

Visit →

AEO Agency (Webflow Partner of the Year)

2026-05

An Answer Engine Optimization agency -- Webflow Enterprise Partner of the Year, client roster including two publicly traded companies, growing at 70%+ annually -- whose own bx.studio/llms.txt returns a 404. Robots.txt is best-practice: explicitly names 10 AI crawlers and grants full access. Then there is nothing on the other side for AI systems to read. Schema coverage is 2 of 8 recommended types. The homepage meta description is interchangeable with any of 400 Webflow agencies. The /aeo-agency service page has no FAQ schema. The agency is selling the capability it has not yet deployed on itself.

Top findings: missing llms.txt (ironic for an AEO agency), incomplete Organization schema missing sameAs links, no decision-stage content cluster supporting the AEO service page, homepage meta that could belong to any Webflow shop. All fixable in one sprint.

Visit →

Systems & Infrastructure

7 entries

QuickBooks-Integrated Business Dashboard (Intuit-approved)

2026-05

Custom Next.js dashboard for a private business client, integrated with QuickBooks Online via OAuth 2.0 read-only. Passed Intuit's full production approval (App Details + Compliance questionnaire) on first submission. AES-256-GCM token encryption at rest, HMAC-signed CSRF state, automatic token refresh with 401 retry, signed-cookie sessions, single-tenant Hetzner container with no co-tenants, permanent audit log capturing every connect/disconnect/sync event with IP + user agent. Four read-only query-API fetchers (bank balances, AR aging, AP aging, unpaid bills) hit Account, Invoice, and Bill resources. Hand-coded EULA + Privacy Policy pages also shipped to clear the compliance gate.

Next.js 16QuickBooks Online APIOAuth 2.0AES-256-GCMSQLiteDockerHetzner

Sandbox-tested end-to-end (bank, AR, AP totals returning correct numbers). Intuit production credentials issued 2026-05-03 on first compliance submission. Client retains revoke-anytime control via Intuit's standard authorization flow.

Multi-Tenant Breeder Admin Overhaul (Bear Valley Puppies)

2026-05

Eight-feature drop across the Puppy Sales Success multi-tenant admin in one evening. New DB-driven inquiry form (form_questions table with per-tenant editable questions, drag-reorder, conditional visibility, soft delete) replacing the hardcoded 19-field form. Manual Add Inquiry button with typeahead autofill that updates existing contacts in place instead of creating duplicates. Manual deposits and manual inquiries now auto-create the pipeline instance at the correct stage (eight historical deposits backfilled). Send-test email button on every template that fires a [TEST]-prefixed preview to the tenant's inbox without ever touching a real customer. Search box on Inquiries + Pipeline tabs. Hard-delete in pipeline drawer with double-confirm. CSV download on every list view. Monthly cron-driven safety CSV emailed to each tenant on the 1st (contacts + pipeline as Resend attachments). Stage Email Reference panel showing which email fires at which pipeline stage. Breed badge on every contact card across Pipeline / Inquiries / Deposits with detection upgraded to check four possible sources. Homepage + article text now editable via content_blocks (five homepage blocks + three article body blocks seeded). New testimonial blockType with image picker. Eight Reasons checklist replaced with client's own graphic.

Next.js 16PrismaPostgreSQLResend (CSV attachments)@dnd-kit/sortableDockerHetzner

Bear Valley client (Jan) went from "I have to message Lesli to edit form questions, homepage copy, or article text" to a fully self-service content + form + pipeline admin in a single evening. All features ship to every PSS tenant automatically. Monthly safety backup runs unattended at 7 AM on the 1st.

Self-Hosted Lead Magnet System (replaces Kit / ConvertKit / Mailchimp)

2026-04

Lead magnets hosted on the client's own site, with email addresses stored in the client's own admin database, and every signup delivered straight into the client's existing inquiry pipeline. No third-party email SaaS to subscribe to. Each PDF gets a branded landing page, a 4-field opt-in, an automated email delivering the guide as an attachment, and an instant breeder notification. Leads land in the same admin dashboard the client already uses for puppy applications, so follow-up happens in one place. First deployed to bearvalleypuppies.com with three magnets (Pomeranian, Dachshund, Puppy Prep Checklist).

Next.js 16PrismaPostgreSQLResend

Client owns their list. No $29-$99/month Kit or Mailchimp bill, no platform lock-in, no data-portability friction if the client ever leaves. Same system reusable across every PSS tenant.

Visit →

Cross-Site Photo Upload API

2026-04

Shared-secret-token API allowing abra1st.com to POST dog photos to pedigreedatabase.ca's image storage. Wired into the breeder edit-dog flow.

PHPMySQLShared secret auth

Audit Publishing Engine

2026-04

Static-page rewrite system serving 50+ audit slugs at lesli.com/{slug}/. Each audit deploys as a self-contained HTML file in public/, registered via auditSlugs in next.config.ts.

Next.js 16 rewritesDockerHetzner

50+ audits published, every Claude Code skill output flows through this

GSC Dashboard (multi-property merge)

2026-04

Live Google Search Console integration tracking 12 sites with sc-domain and URL-prefix property merging logic. Real numbers, updated weekly, MoM badge with noise guard.

Next.js 16GSC APIService Account auth

12 sites tracked, multi-property merge live

Visit →

Lead Pipeline (replaces GHL)

2026-04

Custom lead capture and nurture system replacing GoHighLevel. /api/leads endpoint, SQLite storage, Resend email, /admin/leads kanban dashboard with city batching for ABM campaigns.

Next.js 16SQLiteResend

Live since April 2026, captures leads from all audit and form pages

Want your business added to this list?

Same machine. Different noun. Let's make Google and ChatGPT recommend you.

Start with a Visibility Report