Skip to main content
Map the rivals to beat — each gap backed by a real complaint. With a demand report in hand, one call maps the products people use today: what each does well, and the gap you can exploit. Every gap is backed by an actual complaint someone posted, so the whole map traces back to real quotes you can open.
/demand-report an affordable, jitter-free focus supplement for developers
/competitor-map
You get back a CompetitorMap: the real products people use today, each with what it does well and a gap you can exploit — and that gap is always backed by an actual complaint someone posted. It also always includes the “do nothing” option, because the cost of people sticking with their current habit is the real thing any new product has to beat.

What you give it / what you get back

FieldWhat it is
comp.competitors[].name / .kindThe rival and its type: direct, adjacent, or status_quo (do nothing).
comp.competitors[].strengthsWhat that competitor does well.
comp.competitors[].gaps[].claimA gap you can exploit — phrased as what the rival misses.
comp.competitors[].gaps[].severityHow big the gap is, set from how many people complained about it (not a model’s opinion).
metalworks only lists rivals it can actually find evidence for — if a name can’t be grounded in a real source, it’s dropped, so you won’t get hallucinated competitors. And it only keeps a gap when a real complaint backs it up: every gap links to one verbatim quote or a grounded web source. A gap nobody actually voiced gets dropped.

When the result is thin

If metalworks can’t confidently ground the list of named competitors, it still ships the “do nothing” alternative (always grounded in your report’s strongest pains) and flags the rest with partial=True and a caveat telling you the named set is unverified. You’re never handed a confident-looking map built on invented rivals.

Next

You know the landscape. Now decide what to build and write the site: → Surface & screens · Marketing site · the full walkthrough · why you can trust the output