{
  "schema_version": "1.0",
  "updated": "2026-10-30",
  "publisher": "Stuck to Shipped",
  "owner": "Ryan Bennett",
  "currency": "USD",
  "pricing_note": "Current weekly prices, valid as of the date in price_valid_as_of. Weeks run Monday 00:00 to Sunday 23:59, America/Denver. We are a new site and publish no audience numbers yet.",
  "audience": {
    "description": "People building apps with AI app builders (Lovable, Bolt, Replit, Cursor, v0) and people running AI agents (OpenClaw and similar) who are stuck on a specific error.",
    "traffic_stats": null,
    "traffic_stats_note": "No traffic figures are published yet. A public, read-only analytics dashboard (Umami) is planned; until it exists we make no traffic claims.",
    "newsletter_subscribers": null
  },
  "slots": [
    {
      "id": "site-sponsor-week",
      "name": "Site sponsor of the week",
      "price_usd": 300,
      "price_type": "current",
      "period": "week",
      "inventory_per_week": 1,
      "status": "available",
      "placement": "One labeled 'Sponsored' card on the home page, the /fixes index, and every fix page (below the fix, never inside the steps).",
      "includes": [
        "1 sponsor card site-wide for 7 days, labeled 'Sponsored'",
        "Logo-free text: name (max 40 characters), one line (max 90 characters), one URL",
        "Link carries rel=\"sponsored\" and your UTM parameters so you can count clicks in your own analytics",
        "Listed in /sponsors.json under current_sponsors for the week"
      ],
      "creative_specs": {
        "name_max_chars": 40,
        "line_max_chars": 90,
        "url": "https only, must resolve",
        "images": false
      },
      "stripe_payment_link": "TODO",
      "price_valid_as_of": "2026-10-30"
    },
    {
      "id": "category-sponsor-week",
      "name": "Category sponsor of the week",
      "price_usd": 300,
      "price_type": "current",
      "period": "week",
      "inventory_per_week": 1,
      "categories": [
        "openclaw",
        "supabase",
        "deploy (vercel, netlify, lovable)",
        "stripe"
      ],
      "status": "available",
      "placement": "One labeled 'Sponsored' card on the fix pages and the platform index of one category, e.g. 'OpenClaw fixes'.",
      "includes": [
        "1 sponsor card on every fix page in one category for 7 days, labeled 'Sponsored'",
        "Same text-only creative specs as the site sponsor",
        "rel=\"sponsored\" link with your UTM parameters"
      ],
      "creative_specs": {
        "name_max_chars": 40,
        "line_max_chars": 90,
        "url": "https only, must resolve",
        "images": false
      },
      "stripe_payment_link": "TODO",
      "price_valid_as_of": "2026-10-30"
    },
    {
      "id": "newsletter-line-week",
      "name": "Newsletter sponsor line",
      "price_usd": 300,
      "price_type": "current",
      "period": "week",
      "inventory_per_week": 1,
      "status": "not_yet_available",
      "status_note": "The weekly email has not launched yet. This slot opens once it has subscribers; we will not sell it before then.",
      "placement": "One 'Sponsored' line at the top of the weekly 'errors we reproduced this week' email.",
      "includes": [
        "1 labeled sponsor line (max 90 characters) plus one link in one weekly issue"
      ],
      "creative_specs": {
        "line_max_chars": 90,
        "url": "https only, must resolve",
        "images": false
      },
      "stripe_payment_link": "TODO",
      "price_valid_as_of": "2026-10-30"
    }
  ],
  "current_sponsors": [],
  "how_to_buy": {
    "humans": "Pick a slot on https://stucktoshipped.com/sponsor/ and email growtheshow@mail.grokbot.com with the slot, your preferred week and your creative (name, line, URL). Online checkout is coming soon; until then we confirm bookings and payment details by email.",
    "agents": "Read this file and choose a slot whose status is 'available'. stripe_payment_link becomes a real https URL when online checkout opens; until then any other value means checkout is not open yet, so book by email at the contact address with a human-approved budget. We do not yet accept x402/MPP machine payments.",
    "contact": "growtheshow@mail.grokbot.com"
  },
  "editorial_policy": "Payment never changes a fix, a test result, a verification status or the order fixes are listed in. Failing fixes are published as failing. Sponsors cannot buy, edit, or preview fix content. We may decline any sponsor.",
  "acceptance_policy": {
    "accepted": "Developer tools, hosting, databases, auth, monitoring, AI app builders, agent hosting and related education relevant to people shipping AI-built apps.",
    "declined": "Gambling, crypto token promotion, adult content, misleading claims, malware or anything that asks users for secret keys.",
    "review": "Every creative is reviewed by a human before it runs."
  },
  "refund_policy": "If we decline your creative, or cannot run a week you paid for, we refund in full. Otherwise refunds are at our discretion before the week starts.",
  "disclosure_policy": {
    "summary": "Every paid placement is labeled 'Sponsored' next to the link, every sponsored or affiliate link uses rel=\"sponsored\", and affiliate links are disclosed in the body of the page right before the first such link (not only in the footer).",
    "ftc_basis": "US FTC Endorsement Guides (16 CFR Part 255): material connections must be disclosed clearly and conspicuously.",
    "affiliate_links": "If a page earns a commission from a link, the page says so before the link. We only link tools we used to test that fix.",
    "ai_disclosure": "Pages are drafted by AI agents. Patch, our on-camera host, is an AI. A human (Ryan Bennett) owns the business and approves money and accounts."
  },
  "price_valid_as_of": "2026-10-30",
  "founding_sponsor": {
    "slots_available": 1,
    "offer": "Founding sponsor: 1 slot. Book now and your weekly rate is locked for 4 weeks.",
    "rate_lock_weeks": 4,
    "guarantee": "If the slot misses the visit target agreed at booking, the sponsor gets an extra week free.",
    "visit_target": null,
    "visit_target_status": "agreed_at_booking",
    "visit_target_note": "The visit target is agreed in writing at booking, before you pay, and measured by UTM-tagged visits in your own analytics. We do not publish traffic numbers we don't have."
  },
  "url": "https://stucktoshipped.com/sponsors.json",
  "human_page": "https://stucktoshipped.com/sponsor/"
}
