{
  "name": "UploadCheck.app Product Hunt Launch Kit",
  "product": {
    "name": "UploadCheck.app",
    "tagline": "Quality check videos, podcasts, and clips before you upload.",
    "category": "Agent-native media QC",
    "primary_audience": [
      "creators",
      "editors",
      "studios",
      "agencies",
      "Claude Code users",
      "Codex users",
      "MCP agents"
    ],
    "one_liner": "UploadCheck gives creator agents a final pre-upload QC pass for video, podcast, and clip exports."
  },
  "launch_copy": {
    "headline": "Catch upload mistakes before your audience does",
    "maker_comment": "We built UploadCheck from real production failures: duplicate AI characters, frozen frames, low-contrast captions, garbled audio, unsafe Shorts text, canvas gutters, and agent repair loops. The product gives agents a callable QC gate before the upload button.",
    "short_description": "Run /check from an agent workspace or call the API before publishing. UploadCheck returns verdicts, timestamped flags, source-hash proof, marker exports, cost estimates, and repair-loop instructions.",
    "proof_points": [
      "Global Codex MCP server: uploadcheck",
      "CLI/package names: @uploadcheck/cli and @uploadcheck/mcp",
      "Live Render API with inline media, signed upload, queued worker, and report endpoints",
      "Public PASS, WATCH, and BLOCK sample reports",
      "Cost guardrails that downgrade or block model-backed checks when they would break the 95% gross-margin target"
    ]
  },
  "demo_flow": [
    {
      "step": 1,
      "title": "Preflight cost",
      "script": "Call qc_estimate_cost with the intended checks and plan. Show effective checks, removed checks, and margin safety before media is sent."
    },
    {
      "step": 2,
      "title": "Run /check",
      "script": "Send a final video, podcast, Short, or still frame through UploadCheck using the CLI, MCP server, or REST API."
    },
    {
      "step": 3,
      "title": "Show the block",
      "script": "Use the duplicate-crowd sample: UploadCheck blocks repeated faces and tells the editor to regenerate with more character variation."
    },
    {
      "step": 4,
      "title": "Ask to fix now",
      "script": "Show every flag, separate direct fixes from render-source issues, ask whether to fix now, then rerun UploadCheck after edits."
    }
  ],
  "public_links": {
    "product_hunt_page": "https://uploadcheck.app/product-hunt/",
    "demo_clip": "https://uploadcheck.app/demo/uploadcheck-product-hunt-demo.mp4",
    "sample_reports_index": "https://api.uploadcheck.app/sample-reports/index.json",
    "block_sample_report": "https://api.uploadcheck.app/sample-reports/duplicate-characters-block.json",
    "cost_basis": "https://api.uploadcheck.app/cost-basis.json",
    "pipeline_handoff": "https://api.uploadcheck.app/pipeline-handoff.json",
    "pipeline_recipes": "https://api.uploadcheck.app/pipeline-recipes.json",
    "npo_pipeline_handoff": "https://api.uploadcheck.app/npo-pipeline-handoff.json",
    "agent_manifest": "https://api.uploadcheck.app/agent-manifest.json",
    "openapi": "https://api.uploadcheck.app/openapi.json",
    "launch_status": "https://api.uploadcheck.app/launch-status.json",
    "live_launch_status": "https://api.uploadcheck.app/v1/launch-status",
    "live_launch_doctor": "https://api.uploadcheck.app/v1/launch-doctor",
    "live_launch_evidence": "https://api.uploadcheck.app/v1/launch-evidence"
  },
  "pricing_position": {
    "creator": "$99/mo for 2,400 checked minutes",
    "studio": "$299/mo for 10,000 checked minutes",
    "network": "$799/mo for 36,000 checked minutes",
    "margin_rule": "Included minutes cover deterministic publish-readiness QC. Deep model review stays internal for engine backtesting, roadmap generation, and deterministic capture-rate measurement so public plans preserve the 95% gross-margin target.",
    "stress_plan_verdict": "$99 for 5,000 checked minutes is too generous for full-model review; public pricing stays deterministic QC minutes."
  },
  "ready_when": {
    "product_hunt_ready": true,
    "remaining_blockers": [],
    "required_commands": [
      "npm run launch:doctor",
      "npm run launch:evidence -- --json",
      "npm run launch:handoff",
      "npm run live-launch-doctor:verify",
      "npm run live-launch-evidence:verify",
      "npm run codex:verify-install",
      "npm run cost-basis:verify",
      "npm run live-cost-basis:verify",
      "npm run live-agent-manifest:verify",
      "npm run live-pipeline-recipes:verify",
      "npm run live-pipeline-handoff:verify",
      "npm run live-npo-pipeline-handoff:verify",
      "npm run live-openapi:verify",
      "npm run live-public-artifacts:verify",
      "UPLOADCHECK_LIVE_WEB_BASE_URL=https://qcgenie-web.onrender.com npm run live-web-artifacts:verify",
      "npm run live-web-artifacts:verify",
      "npm run media-ingress:verify",
      "UPLOADCHECK_MEDIA_INGRESS_BASE_URL=https://api.uploadcheck.app UPLOADCHECK_API_KEY=<private_bearer> npm run media-ingress:verify",
      "npm run roadmap:verify",
      "npm run launch-status:generate",
      "npm run launch-status:verify",
      "npm run render:validate-env-file -- /tmp/uploadcheck-render-launch.env",
      "npm run launch:dns",
      "npm run launch:checkout",
      "UPLOADCHECK_CHECKOUT_PROBE=1 npm run launch:checkout",
      "npm run launch:storage",
      "UPLOADCHECK_STORAGE_PROBE=1 npm run launch:storage",
      "npm run readiness:check",
      "npm run launch:check"
    ],
    "source_of_truth": "https://api.uploadcheck.app/v1/launch-status"
  },
  "current_state_snapshot": {
    "source": "https://api.uploadcheck.app/launch-status.json",
    "product_hunt_ready": false,
    "remaining_blockers": [
      "checkout",
      "custom_domain",
      "secret_encryption",
      "persistence",
      "storage"
    ],
    "note": "Static snapshot only. Use live_launch_status before launch."
  }
}
