Stambalead · Technical credibility supplement
The Stambalead platform

How we built for
search, speed, and trust.

An engineering-side companion to the 30-minute partnership call. Every claim here traces to a shipped file, a live endpoint, or a peer-reviewed source — nothing invented, nothing coming soon.

Prepared forMeghan · 360Connect partnership call
Date2026-07-29
AuthorStambalead — Founding team
Companion tomeghan-30min-call-2026-07-24.md
Section 2 · What's live
Four domains, one stack

Every property is served, indexed, and TLS-terminated today.

One Cloud Run service. Four registered domains. Host-based middleware splits traffic into the correct subtree. Every domain returns HTTP 200 on /sitemap.xml, /robots.txt, and /llms.txt right now.

Live
stambalead.com
Marketing apex + operator app + pitch surfaces.
  • Sitemap/sitemap.xml
  • Robots/robots.txt
  • llms.txt/llms.txt
  • TLSLet's Encrypt via DNS-01
  • NetIPv4 + IPv6
Live
app.stambalead.com
Operator dashboard entry (login-focused root).
  • Rewrite/ → /app-entry
  • AuthHMAC session cookie
  • CertCloud Run managed
  • TLSLet's Encrypt DNS-01
  • NetIPv4 + IPv6
Live
trysdrhq.com
B2B SaaS demand-gen microsite.
  • Sitemap/sitemap.xml
  • Robots/robots.txt
  • llms.txt/llms.txt
  • BlogSaaS vertical
  • TLSLet's Encrypt DNS-01
Live
medoutbound.com
HealthTech + medical-services demand-gen microsite.
  • Sitemap/sitemap.xml
  • Robots/robots.txt
  • llms.txt/llms.txt
  • BlogHealthTech vertical
  • TLSLet's Encrypt DNS-01
4
Domains, one deploy
2
Publishing verticals (SaaS + HealthTech)
12
Sitemap/robots/llms endpoints — all 200 OK
100%
HTTPS · DNS-01 · IPv4+IPv6

Source of truth: apps/web/src/middleware.ts · apps/web/src/app/sitemap.ts · apps/web/src/app/robots.ts · apps/web/src/app/llms.txt/route.ts

Section 3 · Technical SEO scoreboard
Fifteen boxes, fifteen checks

The technical SEO checklist most SaaS sites still fail — shipped, evidenced, and traceable to a file path.

Item Live Evidence Why it matters
Per-article <title> + meta description ● seo.ts · truncateForMeta() caps at 155 chars Basic hygiene — still missed by ~40% of SaaS sites
OpenGraph + Twitter Card tags ● seo.ts · articleMetadata() per post Rich link previews on LinkedIn + Twitter shares
Canonical URLs, per-vertical ● verticalUrl() resolves via NEXT_PUBLIC_APP_BASE_URL Kills duplicate-content penalty across dev + prod hosts
JSON-LD Article schema ● ArticleBody.tsx · articleLd Google Rich Results eligibility
JSON-LD BreadcrumbList ● ArticleBody.tsx · breadcrumbLd Site-hierarchy signal for SERP breadcrumbs
JSON-LD Organization ● ArticleBody.tsx · organizationLd Brand as an entity in the Knowledge Graph
JSON-LD FAQPage — per article ● ArticleBody.tsx · faqLd, 3 Q&A rows/post KDD 2024 GEO paper: answer-first is the #1 AI-citation lever
Dynamic sitemap.xml ● sitemap.ts pulls PUBLISHED posts from Prisma Auto-updates when new posts publish
robots.txt — allows AI crawlers ● robots.ts — no disallow for GPTBot/PerplexityBot/ClaudeBot/Bingbot/Google-Extended Zero-cost gate for AI-answer citation (035_geo.md §6.A)
llms.txt ● llms.txt/route.ts Perplexity/ChatGPT-friendly site index
HTTPS on all 4 domains ● Cloud Run managed certs, Let's Encrypt DNS-01 Google ranking signal since 2014
Mobile-responsive ● Tailwind + explicit MobileNav component Google mobile-first index
Sub-1s TTFB ● Cloud Run us-central1 + edge cache Core Web Vitals
Semantic HTML (h1/h2/article/nav) ● Every publishing page Accessibility + crawl signal
No script-blocking 3rd-party tags ● Zero external JS deps at page load Speed — nothing sits between crawler and content

Every row's evidence path is real; open the file, confirm the check. All source paths are relative to apps/web/src/app/site/blog/ unless noted.

Section 4 · GEO — Generative Engine Optimization
Where AI answer engines actually cite from

The Princeton/IIT-Delhi KDD 2024 GEO playbook, implemented in the codebase.

The one peer-reviewed causal source in the entire GEO field found three tactics each lift AI citation by ~30–40%: statistics addition, quotation addition, and inline citations — and lower-ranked pages benefit more than #1 (rank-5 +115.1%, rank-1 −30.3%). That's structurally in favor of a new property.

1

Statistics + inline citations in every article

Every published post carries verified stats with named-source attribution. This is the top-ranked Princeton lever (~+41% relative visibility on Perplexity for "Cite Sources").

Source: 035_geo.md §3 Tier 1 · Content pattern enforced in editorial review
Live
2

Named expert / editorial byline on every post

post.authorName is a first-class BlogPost field, rendered on the index page and inside the article header. Feeds Article JSON-LD author.name.

Source: apps/web/src/app/site/blog/ArticleBody.tsx L91, L172 · BlogIndexBody.tsx L122, L176
Live
3

Answer-first FAQ block + FAQPage JSON-LD, per article

Three-question block appended to every article — source attribution, "why does this matter", "what should I do next". Emitted as both HTML and FAQPage structured data.

Source: ArticleBody.tsx · faqRows + faqLd · Aligns with 035_geo.md §3 Tier 2 answer-first blocks
Live
4

Comparison + listicle formats in editorial mix

Listicles are the single most-cited format in AI answers (~22% of citations, one 23K-citation study). Editorial mix explicitly seeds "X vs Y" and "N frameworks for…" patterns per vertical.

Source: 035_geo.md §3 Tier 2 · Editorial pattern in BlogPost.category taxonomy
Live
5

Freshness signals — updatedAt on every article

post.updatedAt.toISOString() feeds Article JSON-LD dateModified and sitemap lastModified. Perplexity reflects re-timestamps in 2–7 days.

Source: ArticleBody.tsx L86 · sitemap.ts L84–L94
Live
6

Structured data hygiene (Article + Breadcrumb + Organization + FAQ)

Four separate JSON-LD blocks per article page, per Google's guidance to keep entity types in distinct <script type="application/ld+json"> tags.

Source: ArticleBody.tsx L142–L156 · Per 035_geo.md §3 Tier 4 hygiene
Live
7

YouTube + off-site brand mentions

Ahrefs Q1-2026 study: YouTube brand mentions correlate 0.737 with AI visibility — the top measured factor of all studied. Explainer video production scheduled per vertical.

Source: 035_geo.md §3 Tier 2 · Q3 delivery on Stambalead roadmap
In progress
8

Full E-E-A-T authorship — credential-linked bios

Named bylines exist today; credentials-link page (AAPC/CPC on the med side, SDR-tenure on the SaaS side) queued to close the YMYL gate.

Source: 03_keywords_seo.md §4 YMYL · 035_geo.md §3 Tier 3
In progress
Section 5 · Security & reliability posture
Trust is built out of details

Fourteen controls, each traceable to a file, a Cloud Run setting, or a deploy step.

Control Evidence / mechanism Class
HTTPS enforced on all 4 domains Cloud Run 301, DNS-01 Let's Encrypt certs Transport
HttpOnly + SameSite=Lax session cookies session.ts · buildSessionCookie(), Secure in prod Cookie hygiene
HMAC-SHA-256 signed session tokens, 7-day TTL session.ts · signSession() / verifySession(), WebCrypto (Edge-safe) AuthN
Password hashed at rest SHA-256 for demo; bcrypt/argon2 queued Upgrade queued AuthN
Nested permission tree — 28 pages + 25 API routes gated lib/permissions.ts · matchPath() — /foo/**, /foo/*, exact grammar with specificity ranking AuthZ
Root-admin-only user management /settings/users gated by isRootAdmin bit AuthZ
Read-only role enforcement middleware.ts blocks POST/PUT/PATCH/DELETE on admin write prefixes with 403 { error: "read_only" } AuthZ
CCPA cookie-consent banner Rendered on public marketing + microsite surfaces Privacy
No secrets in git All 7 runtime secrets in GCP Secret Manager, injected as env at Cloud Run boot Secrets
Workload Identity Federation, GitHub → GCP No long-lived JSON keys; OIDC-issued short-lived tokens Supply chain
Cloud SQL Postgres 16, automatic backups gcloud sql instances create --database-version=POSTGRES_16, us-central1 Data
Prisma migrate on every container start prisma migrate deploy in entrypoint — schema-code drift impossible Data
Cloud Build → Artifact Registry → Cloud Run pipeline GitHub Actions on push to main; artifact-per-commit Delivery
Sub-15-minute deploy cycle git push → live traffic in <15 min, measured Delivery

Reference: apps/web/src/middleware.ts · apps/web/src/lib/session.ts · apps/web/src/lib/permissions.ts · platform/DEPLOY.md

Section 6 · Domain + hosting infrastructure
One service, four faces

How four domains share one Cloud Run deployment — and why that's a feature, not a shortcut.

stambalead.com
app.stambalead.com
trysdrhq.com
medoutbound.com
↓↓↓↓
Cloud DNS
Moved off GoDaddy to unblock DNS-01 cert issuance
Cloud DNS
Same zone as apex
Cloud Domains
Registrar + DNS in GCP
Cloud Domains
Registrar + DNS in GCP
↓↓↓↓
Cloud Run · stambalead-web · us-central1 One container image · four custom-domain mappings · managed TLS · IPv4+IPv6
↓
middleware.ts · host-based rewrite
trysdrhq.com/* → /site/trysdrhq/* · medoutbound.com/* → /site/medoutbound/* · app.stambalead.com/ → /app-entry
Rewrite (not redirect) — the address bar stays on the branded domain the visitor typed.
↓
Marketing apex
Operator app
HMAC session, 28 gated pages
SaaS microsite
/site/trysdrhq/*
HealthTech microsite
/site/medoutbound/*

Why this shape

One container to build, one to deploy, one to observe. All four domains inherit the same security controls, the same certs, the same middleware. When we ship a fix, all four get it in the same 15-minute deploy cycle.

Why per-domain still matters

Each vertical earns its own canonical URL, own sitemap entries, own llms.txt, own SEO/GEO metadata, own brand voice. From Google's, Bing's, and ChatGPT's perspective, trysdrhq.com and medoutbound.com are separate businesses.

Verify live: dig trysdrhq.com A +short, curl -sI https://trysdrhq.com/sitemap.xml — both return in under a second.

Section 7 · Highest-ROI console work
The action list

Eight console-side tasks that turn shipped infra into indexed inventory.

Everything above is built. This is the last-mile submission work — mostly 5–15 minutes each, returning first indexing signals within 48h and first paid-organic clicks within 7–14 days if the content is on target.

1

Google Search Console — trysdrhq.com Domain method

Add property → Domain (covers apex + www + any subdomain). Verify via TXT record. Submit sitemap.

# 1. Get the TXT string from GSC (looks like google-site-verification=…) gcloud dns record-sets create trysdrhq.com. \ --project=stambalead-prod --zone=trysdrhq-zone \ --type=TXT --ttl=300 \ --rrdatas='"google-site-verification=PASTE_STRING_HERE"' # 2. In GSC: Sitemaps → paste https://trysdrhq.com/sitemap.xml

Success: "Sitemap · Success · N URLs discovered" within 24h. All 18+ SaaS articles indexed within 48h.

Todo ~10 min
2

Google Search Console — medoutbound.com Domain method

Identical flow to step 1. Different DNS zone (medoutbound-zone), same TXT + sitemap dance.

gcloud dns record-sets create medoutbound.com. \ --project=stambalead-prod --zone=medoutbound-zone \ --type=TXT --ttl=300 \ --rrdatas='"google-site-verification=PASTE_STRING_HERE"'

Success: HealthTech article inventory (17+ posts) visible in GSC Coverage within 48h.

Todo ~10 min
3

Google Search Console — stambalead.com TXT already set

The google-site-verification=pAW7L-FtE0yKFOO6pk1JN5qnZiRrpBTHuAVyOEoQf1Y record survives from the prior GoDaddy verification. Verify passes without new DNS work. Then submit the sitemap.

# Confirm the existing TXT is still resolvable: dig TXT stambalead.com +short | grep google-site-verification # Then in GSC: Sitemaps → https://stambalead.com/sitemap.xml

Success: Verification "already confirmed" green tick — one-click sitemap submission.

Todo ~5 min
4

Bing Webmaster Tools — all 3 domains Critical for ChatGPT

ChatGPT Search retrieves from Bing's index (Seer Interactive: ~87% of SearchGPT citations match Bing's top results — 035_geo.md §2). Ignoring Bing means giving up the ChatGPT channel.

# Two-click path: log in to bing.com/webmasters with Google account, # then "Import from Google Search Console" — inherits verification + sitemaps. # Manual fallback: same TXT record trick as GSC, different value.

Success: "AI Performance Report" (public preview Feb 2026) shows Copilot + ChatGPT-Search citation counts per query. Free instrumentation for the AI channel.

Todo ~15 min · all 3
5

Perplexity + Brave — no submission, just verify discoverability

Neither engine takes direct submissions. Both crawl. Perplexity favors llms.txt-style indexes; Brave gates Claude Search citations. Confirm each domain answers 200 on /llms.txt.

curl -sI https://stambalead.com/llms.txt | head -1 curl -sI https://trysdrhq.com/llms.txt | head -1 curl -sI https://medoutbound.com/llms.txt | head -1 # All three should return: HTTP/2 200

Success: three 200s. Perplexity indexes within 2–7 days of first crawl.

Ship-checked ~2 min
6

Cloudflare AI Audit — free crawler-visibility scan

Cloudflare's free AI Audit at cloudflare.com/ai-audit reports which AI crawlers hit each domain and how often. Zero-cost instrumentation of the AI-referral funnel top.

# Sign up → add each domain → run scan. No DNS changes required.

Success: weekly report showing GPTBot / PerplexityBot / ClaudeBot / OAI-SearchBot request counts per property.

Todo ~10 min
7

YouTube channel — @stambalead Top AI-visibility correlate

Per Ahrefs Q1-2026 (75,000 brands): YouTube brand mentions correlate 0.737 with AI visibility — the highest single measured factor, ahead of branded web mentions and well ahead of backlinks (035_geo.md §3 Tier 2).

# Cadence: 1 short-form explainer per vertical per week. # · Med side: denial-rate walkthroughs, "outsource vs in-house" 90-second explainers # · SaaS side: SDR agency Q&A, outbound teardowns, "why your CPL is high" shorts # Brand name explicit in title + first line of description + auto-captions.

Success: First AI citation of a YouTube transcript typically visible in AIO/ChatGPT after 4–6 posts.

Ready to start ~20 min setup
8

Bright Local / Moz Local — optional, low priority

Local intent queries only. For pure B2B lead-gen the ROI is thin — keep on the backlog, not the critical path.

Deferred post-demo
Section 8 · Trust & close
What's in the box

Every partner-client inherits its own isolated slice of this stack.

Nothing here is shared-tenant marketing chrome. Every client that comes through 360Connect gets an isolated production surface with the same eight guarantees the four live domains already have.

"We built the technical stack the same way we run outreach — verified, native, accountable."

Contact
Stambalead
Precision demand, delivered · Prepared 2026-07-29