# ThreadOverflow > ThreadOverflow turns Sentry production issues into AI-generated limited-edition merchandise: prompt catalogs, meta/image-wrap settings, separate tee and on-model (male/female) showcase renders, a review queue, Vercel Workflows, and Printful-backed fulfillment. Listings appear on a general catalog (`/shop`) and per-creator storefronts (`/store/...`). Creators bring their own Google Gemini API key (BYOK) for dashboard image generation and for the in-dashboard **Null** curator agent. Optional Shopify Admin credentials enable draft/publish product tools for Null when connected. ## Canonical entry - Public marketing home: `/` (English, `lang=en`) ## Marketing home: section order and fragment IDs Top to bottom on `/` (see `app/page.tsx`): 1. Hero — live collage from catalog when data exists (pinned hero product when configured and still eligible; otherwise newest eligible live general-shop product with both model showcase slots). 2. `#how-it-works` — **01 · THE PIPELINE** (four high-level beats). 3. `#showcase` — creator store / drop highlights. 4. **03 · PIPELINE IN DEPTH** at `#pipeline-detail`, then **04 · NULL** at `#null-agent`, **Connect · Sentry** at `#bring-sentry`, **BYOK · ART & AGENT** at `#byok-gemini` (same landing component file; long-scroll page). 5. `#faq` — **05 · FAQ** (interactive accordion in the UI; question/answer strings are the source of truth in `lib/marketing/landing-faq-data.ts`). 6. Closing CTA and site footer. ## Primary routes for agents - `/`: Overview, pipeline, showcase, deep dives (Sentry, Gemini BYOK, Null, pipeline detail), FAQ, sign-up CTA. Emits JSON-LD `@graph`: `Organization`, `WebSite`, `SoftwareApplication`, `FAQPage` (`components/marketing/landing-json-ld.tsx`). FAQPage `mainEntity` matches the visible FAQ items file-for-file. - `/shop`: General catalog of live, general-store-visible products. Emits `CollectionPage` + nested `ItemList` of `Product` entries (`components/shop/product-list-json-ld.tsx`). Each PDP: `/shop/[slug]` with `Product` + `Offer` + `BreadcrumbList` (`components/shop/product-json-ld.tsx`), absolute image URLs when available. - `/store/[creator]`: Creator store index; `ItemList`-style list JSON-LD like the shop list page. - `/store/[creator]/[product]`: Creator storefront PDP; same `Product` / `Offer` / `BreadcrumbList` pattern as `/shop/[slug]`. - `/llms.txt`: This file (plain text for crawlers and assistants). - `/auth/login`: Passwordless OTP sign-in for **existing** users only. `/auth/sign-up` explains that self-serve registration is closed on this demo and links to Log in. `/auth/sign-up-success` redirects to that notice. `/auth/error` for failed auth flows. - `/dashboard/*`: Authenticated app (issues, design queue, workflows, Null chat, integrations, products, prompts, workshop, settings; admin-only subpaths for prompts/showcase/meta). **Not** meant for search crawlers: `robots.txt` disallows `/dashboard/` and `/api/`. ## Crawling and discovery - `robots.txt`: `allow: /`, `disallow: /api/`, `disallow: /dashboard/`. `Sitemap` at `/sitemap.xml` (includes `/`, `/shop`, `/auth/sign-up`, `/auth/login`, and live `/shop/[slug]` URLs; store URLs may not all be enumerated—use in-app links and RLS-backed queries where relevant). ## Entities (for retrieval) - **Product name:** ThreadOverflow - **Stack (representative):** Next.js, Vercel Workflows, AI SDK, Sentry, Supabase, Printful (see footer “Built With”). - **Integrations:** Sentry (issues, webhooks), Google Gemini via BYOK (`Integrations → AI keys`), Printful (fulfillment / sync in publish flows), optional Shopify Admin (`Integrations → Shopify`) for Null tools and publish path when configured. - **Null:** Dashboard chat agent with tools (Sentry exploration, dedupe, one-off image generation, durable shirt workflow trigger, Printful/Shopify tools when autopilot and credentials allow). - **BYOK:** User-supplied Gemini API key for dashboard generation, Null, and workflow image steps; no undisclosed platform billing for those calls in the documented layout. - **Shop concierge “Undefined” (buyer chat):** The floating widget is **not** on public marketing or shop pages; it is shown only for **global admins** inside `/dashboard`. Separate from BYOK: `POST /api/undefined` backs that widget. Live mode can use a **platform** Gemini key (`THREADOVERFLOW_SHOP_AI_GEMINI_API_KEY`); without it, responses run in **demo** mode (scripted UX, real product rows when present). Do not conflate with creator BYOK. ## Machine-readable structured data - Home: JSON-LD as above; `SoftwareApplication.featureList` summarizes major product capabilities. - Shop and PDPs: JSON-LD as described in “Primary routes”. ## Operators and globals - **Marketing home hero:** A single pinned `landing_hero_product_id` may be set from **Dashboard → Products** for eligible live catalog products (see app/schema `platform_marketing`). Invalid pins clear; otherwise the home hero falls back to the newest eligible product. ## Contact / links - Footer on `/`: GitHub `https://github.com/alx-andru`, X `https://x.com/AlexG0G`. Canonical URLs and metadata: set `NEXT_PUBLIC_SITE_URL` (see `lib/site` / Next metadata).