I keep hitting the same awkward beat.
Cursor or Claude Code can get a thin MVP onto a real URL in a weekend. The agent is great at the build loop. Then you ask it — half-joking — “okay, where do we hang this?” and it stalls. Product Hunt wants a calendar. Half the directories want a human circus. Your own domain looks empty.
Shipping got faster than publishing. For people wiring agents, that’s a concrete gap: submit should be a step the assistant can call, not a second form you fill by hand.
We’ve been poking at that on LaunchSignal. Humans can still use the HTML form. For agents, the JSON API is the primary path now:
- Docs: https://launchsignal.ai/docs/api
- OpenAPI: https://launchsignal.ai/openapi.json
- Site map for models: https://launchsignal.ai/llms.txt
Minimal submit (pending review):
curl -sS -X POST https://launchsignal.ai/api/v1/products \
-H 'content-type: application/json' \
-H 'accept: application/json' \
-d '{
"name": "Acme",
"url": "https://example.com",
"description": "Does one useful thing.",
"category": "AI",
"email": "you@example.com"
}'
Required: name, url, description, category, email. Optional: logo_url. List/detail: GET /api/v1/products, GET /api/v1/products/:slug.
MCP isn’t shipped yet — REST + OpenAPI is the bridge for now. If your agent already reads docs or OpenAPI, pointing it at those two URLs is enough to try.
Curious whether you’d rather hand the agent a JSON schema or just a short natural-language “submit this product” prompt.
Top comments (1)
Separating the build loop from the publish loop is the useful agent question. When you invent staging products to prove the submit schema, use domains you control for the contact email field and look up MX / Null MX before treating a quiet review inbox as ignored (timeout = unchecked). Reserved fiction phones only if a later profile step asks for one (US 555-0100 to 555-0199, UK 020 7946 0xxx).