{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "A single experience entry with embedded technology badges.",
      "key": "any",
      "record": {
        "properties": {
          "company": {
            "description": "Company or organization name.",
            "type": "string"
          },
          "description": {
            "description": "HTML description rendered by the frontend.",
            "type": "string"
          },
          "endDate": {
            "description": "Inclusive end date for the role, if completed.",
            "format": "datetime",
            "type": "string"
          },
          "logo": {
            "description": "Absolute URL for the company logo.",
            "format": "uri",
            "type": "string"
          },
          "order": {
            "description": "Display order for the homepage experience list.",
            "minimum": 0,
            "type": "integer"
          },
          "startDate": {
            "description": "Inclusive start date for the role.",
            "format": "datetime",
            "type": "string"
          },
          "tech": {
            "description": "Technology badges associated with the experience.",
            "items": {
              "ref": "#techItem"
            },
            "type": "array"
          },
          "title": {
            "description": "Role title for the experience entry.",
            "type": "string"
          }
        },
        "required": [
          "order",
          "company",
          "title",
          "description",
          "logo",
          "tech",
          "startDate"
        ],
        "type": "object"
      },
      "type": "record"
    },
    "techItem": {
      "description": "A technology badge embedded inside an experience record.",
      "properties": {
        "icon": {
          "description": "Icon identifier used by the frontend.",
          "type": "string"
        },
        "title": {
          "description": "Human-readable technology name.",
          "type": "string"
        }
      },
      "required": [
        "title",
        "icon"
      ],
      "type": "object"
    }
  },
  "description": "A work experience entry displayed on mattriley.work.",
  "id": "work.mattriley.experience",
  "lexicon": 1
}
