{
  "formatVersion": 1,
  "experienceId": "price-lens",
  "revision": 1,
  "minHostVersion": "0.1.0",
  "title": "Worth a Look",
  "subtitle": "Point, wonder, and get an educated guess.",
  "icon": "camera",
  "tint": "#FFE19A",
  "runtime": "native",
  "tables": [
    {
      "id": "objects.estimates",
      "name": "Price guesses",
      "fields": [
        {
          "name": "title",
          "type": "string",
          "required": true
        },
        {
          "name": "photo",
          "type": "image",
          "required": false
        },
        {
          "name": "estimate",
          "type": "number",
          "required": false
        },
        {
          "name": "currency",
          "type": "string",
          "required": false
        },
        {
          "name": "assumptions",
          "type": "string",
          "required": false
        },
        {
          "name": "date",
          "type": "date",
          "required": false
        }
      ]
    }
  ],
  "seeds": [],
  "dataBindings": [
    {
      "tableId": "objects.estimates",
      "access": "write"
    }
  ],
  "capabilities": [
    "camera",
    "photos",
    "network:https://api.openai.com"
  ],
  "connections": [
    {
      "id": "price-analysis",
      "kind": "openai.vision",
      "url": "https://api.openai.com/v1/responses",
      "method": "POST",
      "credentialId": "openai.personal",
      "credentialHeader": "Authorization",
      "credentialPrefix": "Bearer ",
      "headers": {},
      "saveToTableId": "objects.estimates",
      "fieldMapping": {
        "title": "title",
        "estimate": "estimate",
        "currency": "currency",
        "assumptions": "assumptions"
      },
      "model": "",
      "prompt": "Identify the object and guess a broad secondhand price in USD from its visible appearance. Return JSON: title (string), estimate (number), currency (string), assumptions (string including uncertainty, condition, region and that this is not a verified sale price). Do not invent live market research."
    }
  ],
  "native": {
    "root": {
      "id": "root",
      "type": "stack",
      "props": {
        "gap": 20
      },
      "children": [
        {
          "id": "intro",
          "type": "stack",
          "props": {},
          "children": [
            {
              "id": "eyebrow",
              "type": "text",
              "props": {
                "text": "MADE FOR YOUR EVERYDAY",
                "variant": "eyebrow"
              }
            },
            {
              "id": "heading",
              "type": "text",
              "props": {
                "text": "What might this cost?",
                "variant": "title"
              }
            },
            {
              "id": "description",
              "type": "text",
              "props": {
                "text": "A photo can start the research. AI guesses are saved with their assumptions, and you can correct them.",
                "variant": "body"
              }
            }
          ]
        },
        {
          "id": "price",
          "type": "aiPhoto",
          "props": {
            "title": "Find something interesting",
            "tableId": "objects.estimates",
            "requestId": "price-analysis",
            "resultFields": [
              {
                "name": "title",
                "label": "Object",
                "type": "string"
              },
              {
                "name": "estimate",
                "label": "Estimated price",
                "type": "number"
              },
              {
                "name": "currency",
                "label": "Currency",
                "type": "string"
              },
              {
                "name": "assumptions",
                "label": "Assumptions",
                "type": "string"
              }
            ]
          }
        },
        {
          "id": "finds",
          "type": "list",
          "props": {
            "title": "Your finds",
            "tableId": "objects.estimates",
            "titleField": "title",
            "detailField": "assumptions"
          }
        }
      ]
    }
  },
  "assets": [],
  "releaseNotes": "First edition. Sample content is labeled; your edits stay on this device."
}
