---
title: "FitSearch"
description: "the search for product-market fit from either end: an offering looking for its most advantageous markets, or a concept looking for whether a market exists and how to sculpt the offering to unmet demand; each step a hypothesis settled by readings"
section: concepts
address: /concepts/fitsearch
contract: 0476e35e6e275db5
---

# FitSearch

the search for product-market fit from either end: an offering looking for its most advantageous markets, or a concept looking for whether a market exists and how to sculpt the offering to unmet demand; each step a hypothesis settled by readings

[figure: FitSearch is a work at brand scope. The drawing shows its fields and the objects that they point at.]

| property | value |
|---|---|
| kind | work |
| scope | brand |
| key | the brand, the end it starts from and the inputs hash |
| store | postgres |
| family | market |



## Fields


| field | type | required | note |
|---|---|---|---|
| `brand` | `id` | yes |  |
| `from_end` | `one of an offering \| a concept` | yes |  |
| `offerings` | `[id]` | yes | empty for a concept |
| `concept` | `text` | no | for a concept: the business or offering in the person's words |
| `candidate_verticals` | `[id]` | yes | empty asks for every vertical the register holds |
| `inputs_hash` | `hash` | yes |  |
| `steps` | [FitStep](/concepts/fitstep) | yes |  |
| `frame` | `id` | no |  |
| `why_stopped` | `text` | no |  |



## Routes that use it
- [`/v1/work/search_fit`](/reference/work/search_fit) returns it
