{
  "name": "Roy Dawson IV — Systems Hub Tools",
  "version": "1.0.0",
  "updated": "2026-06-24",
  "baseUrl": "https://imyourboyroy.com",
  "discovery": {
    "manifest": "https://imyourboyroy.com/api/tools/manifest.json",
    "contentIndex": "https://imyourboyroy.com/api/content.json",
    "search": "https://imyourboyroy.com/api/search.json?q=tools",
    "llms": "https://imyourboyroy.com/llms.txt"
  },
  "tools": [
    {
      "id": "qr-architect",
      "name": "QR Architect",
      "description": "Branded QR codes with structured payload modes and SVG export via API.",
      "uiPath": "/tools/qr-code-generator/",
      "status": "active",
      "audience": [
        "human",
        "agent"
      ],
      "apis": [
        {
          "method": "POST",
          "path": "/api/tools/qr.json",
          "description": "Encode a structured QR payload and optionally return an SVG matrix.",
          "contentType": "application/json",
          "example": {
            "mode": "url",
            "url": "https://imyourboyroy.com",
            "renderSvg": true,
            "svg": {
              "size": 512,
              "margin": 2,
              "ecc": "H",
              "dark": "#161616",
              "light": "#ffffff"
            }
          },
          "url": "https://imyourboyroy.com/api/tools/qr.json"
        }
      ],
      "uiUrl": "https://imyourboyroy.com/tools/qr-code-generator/"
    },
    {
      "id": "icon-favicon-studio",
      "name": "Icon & Favicon Studio",
      "description": "Generate website, iOS app, Android app, and custom PNG icon packs from SVG or PNG masters — grouped by deployment target.",
      "uiPath": "/tools/icon-favicon-studio/",
      "status": "active",
      "audience": [
        "human",
        "agent"
      ],
      "apis": [
        {
          "method": "POST",
          "path": "/api/tools/icons.json",
          "description": "Rasterize SVG (or resize a source PNG) into task-selected favicon / app-icon outputs with optional deploy snippets.",
          "contentType": "application/json",
          "example": {
            "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 64 64\"><circle cx=\"32\" cy=\"32\" r=\"28\" fill=\"#7c5cff\"/></svg>",
            "tasks": [
              "favicons",
              "apple",
              "pwa",
              "maskable",
              "snippets",
              "ios-iphone",
              "ios-ipad",
              "ios-app-store",
              "android-launcher",
              "android-adaptive",
              "custom-png"
            ],
            "options": {
              "paddingPercent": 8,
              "backgroundColor": "#08080d",
              "maskableSafeRatio": 0.8,
              "themeColor": "#d4849a",
              "tileColor": "#08080d",
              "pinnedTabColor": "#d4849a",
              "appName": "My Site",
              "shortName": "MySite",
              "appDescription": "Portfolio and tools.",
              "customPngSizes": [
                512,
                1024
              ],
              "customPngDpi": 144
            },
            "includeIco": true
          },
          "url": "https://imyourboyroy.com/api/tools/icons.json"
        }
      ],
      "uiUrl": "https://imyourboyroy.com/tools/icon-favicon-studio/"
    },
    {
      "id": "vcard-architect",
      "name": "vCard Architect",
      "description": "Build rich vCard 4.0 contact files (3.0 supported) with photo, addresses, social profiles, and metadata.",
      "uiPath": "/tools/vcard-architect/",
      "status": "active",
      "audience": [
        "human",
        "agent"
      ],
      "apis": [
        {
          "method": "POST",
          "path": "/api/tools/vcard.json",
          "description": "Return vCard 4.0 text (default) or vCard 3.0 when version is set. Downloadable .vcf with optional embedded PHOTO.",
          "contentType": "application/json",
          "example": {
            "firstName": "Roy",
            "lastName": "Dawson",
            "title": "Principal Engineer",
            "organization": "Ready For Us",
            "email": "roy.dawson.iv@gmail.com",
            "mobile": "+15551234567",
            "url": "https://imyourboyroy.com",
            "linkedIn": "https://linkedin.com/in/example",
            "workAddress": {
              "street": "123 Main St",
              "city": "Austin",
              "region": "TX",
              "postalCode": "78701",
              "country": "USA"
            },
            "photo": {
              "url": "https://imyourboyroy.com/assets/og-image.png"
            },
            "note": "Available for consulting.",
            "version": "4.0",
            "download": false
          },
          "url": "https://imyourboyroy.com/api/tools/vcard.json"
        }
      ],
      "uiUrl": "https://imyourboyroy.com/tools/vcard-architect/"
    },
    {
      "id": "image-optimizer",
      "name": "Image Optimizer",
      "description": "Resize and compress raster images to WebP for web-ready delivery.",
      "uiPath": "/tools/image-optimizer/",
      "status": "active",
      "audience": [
        "human",
        "agent"
      ],
      "apis": [
        {
          "method": "POST",
          "path": "/api/tools/image.json",
          "description": "Accept a base64 image and return an optimized WebP asset.",
          "contentType": "application/json",
          "example": {
            "imageBase64": "<base64-encoded-png-or-jpeg>",
            "maxWidth": 1920,
            "quality": 0.82
          },
          "url": "https://imyourboyroy.com/api/tools/image.json"
        }
      ],
      "uiUrl": "https://imyourboyroy.com/tools/image-optimizer/"
    }
  ],
  "notes": [
    "All tool APIs accept JSON POST bodies unless noted otherwise.",
    "Binary inputs use standard base64 (data URLs are accepted).",
    "Human studios run client-side; APIs mirror the same contracts for agents and automation.",
    "Error responses include ok:false, error, and optional code, field, hint, and docs fields.",
    "OPTIONS is supported on POST endpoints for CORS preflight."
  ]
}