{
  "ok": true,
  "listing": {
    "id": "lst_01M3YJQSV58462HKEW5GZE09XQ",
    "slug": "thomas-gauvin",
    "businessName": "Thomas Gauvin",
    "legalName": "",
    "description": {
      "short": "I'm a product builder and web developer. I believe the web is the best distribution platform we have as developers to reach everyone across the world.",
      "full": "I'm a product builder and web developer. I believe the web is the best distribution platform we have as developers to reach everyone across the world."
    },
    "industry": "",
    "website": "https://thomasgauvin.com/",
    "rootDomain": "thomasgauvin.com",
    "listingOrigin": "discovered",
    "entityType": "business",
    "entitySubtype": "commercial_organization",
    "entityClassification": {
      "type": "business",
      "subtype": "commercial_organization",
      "confidenceScore": 73,
      "classifiedAt": "2026-10-02T15:11:47.084Z",
      "government": null
    },
    "placementType": "global",
    "location": {
      "placementType": "global",
      "countryCode": "",
      "countryName": "Global",
      "flag": "",
      "region": "",
      "city": "",
      "mode": "online"
    },
    "primaryCategory": null,
    "claimStatus": "unclaimed",
    "verificationStatus": "unverified",
    "verified": false,
    "businessVerification": {
      "applicable": true,
      "status": "pending",
      "level": "none",
      "label": "Not Registry Verified",
      "badgeColor": "neutral",
      "countsAsVerified": false,
      "authority": null,
      "registryId": null,
      "matchScore": 0,
      "authorityCode": null,
      "lei": null,
      "jurisdiction": null,
      "registeredLegalName": null,
      "registryStatus": null,
      "registryUrl": null,
      "checkedAt": null,
      "verifiedAt": null,
      "nextCheckAt": null
    },
    "businessVerified": false,
    "commercialStatus": "free",
    "agentStatus": "active",
    "paidProfile": false,
    "freshnessStatus": "current",
    "media": {
      "logo": "https://thomasgauvin.com/assets/icons/Cloudflare_Logo.png",
      "explicitLogo": "https://thomasgauvin.com/assets/icons/Cloudflare_Logo.png",
      "favicon": "https://thomasgauvin.com/assets/favicon.png",
      "fallback": "https://thomasgauvin.com/favicon.ico"
    },
    "scores": {
      "dataConfidence": 82,
      "quality": 85,
      "verification": 0
    },
    "qualityScore": 85,
    "urls": {
      "directory": "https://directory.websdocs.com/business/thomas-gauvin",
      "json": "https://directory.websdocs.com/business/thomas-gauvin.json",
      "website": "https://thomasgauvin.com/",
      "gateway": null
    },
    "publishedAt": "2026-10-02T15:11:48.263Z",
    "updatedAt": "2026-10-02T15:11:57.513Z",
    "organizationType": "organization",
    "language": {
      "primary": "en",
      "supported": [
        "en"
      ],
      "currencies": []
    },
    "categories": [
      {
        "slug": "wholesale-distribution",
        "name": "Wholesale & Distribution",
        "primary": true,
        "confidenceScore": 59
      }
    ],
    "services": [],
    "products": [],
    "agentCapabilities": [
      {
        "key": "support",
        "name": "Online support",
        "description": "Detected from public website navigation or discovery metadata.",
        "protocol": "http",
        "actionUrl": "https://thomasgauvin.com/writing/how-to-host-react-angular-vue-and-other-single-page-applications-on-cloudflare-workers-with-static-assets",
        "method": "GET",
        "authenticationRequired": false
      }
    ],
    "contacts": [
      {
        "type": "phone",
        "label": "Public phone",
        "value": "1936094327584809114",
        "url": null,
        "platform": "phone",
        "primary": true,
        "verificationStatus": "public_source"
      },
      {
        "type": "social",
        "label": "github",
        "value": "https://github.com/thomasgauvin",
        "url": "https://github.com/thomasgauvin",
        "platform": "github",
        "primary": false,
        "verificationStatus": "public_source"
      },
      {
        "type": "social",
        "label": "github",
        "value": "https://github.com/thomasgauvin/react-router-hono-durable-objects-chatrooms",
        "url": "https://github.com/thomasgauvin/react-router-hono-durable-objects-chatrooms",
        "platform": "github",
        "primary": false,
        "verificationStatus": "public_source"
      },
      {
        "type": "social",
        "label": "github",
        "value": "https://github.com/modelcontextprotocol/typescript-sdk",
        "url": "https://github.com/modelcontextprotocol/typescript-sdk",
        "platform": "github",
        "primary": false,
        "verificationStatus": "public_source"
      },
      {
        "type": "social",
        "label": "github",
        "value": "https://github.com/modelcontextprotocol/servers",
        "url": "https://github.com/modelcontextprotocol/servers",
        "platform": "github",
        "primary": false,
        "verificationStatus": "public_source"
      },
      {
        "type": "social",
        "label": "github",
        "value": "https://github.com/thomasgauvin/single-page-applications-on-cloudflare-workers-static-assets",
        "url": "https://github.com/thomasgauvin/single-page-applications-on-cloudflare-workers-static-assets",
        "platform": "github",
        "primary": false,
        "verificationStatus": "public_source"
      },
      {
        "type": "social",
        "label": "linkedin",
        "value": "https://www.linkedin.com/in/thomas-gauvin",
        "url": "https://www.linkedin.com/in/thomas-gauvin",
        "platform": "linkedin",
        "primary": false,
        "verificationStatus": "public_source"
      },
      {
        "type": "social",
        "label": "x",
        "value": "https://x.com/thomasgauvin",
        "url": "https://x.com/thomasgauvin",
        "platform": "x",
        "primary": false,
        "verificationStatus": "public_source"
      },
      {
        "type": "social",
        "label": "x",
        "value": "https://x.com/thomasgauvin/status/1936094327584809114/video/1",
        "url": "https://x.com/thomasgauvin/status/1936094327584809114/video/1",
        "platform": "x",
        "primary": false,
        "verificationStatus": "public_source"
      }
    ],
    "serviceAreas": [],
    "sources": [
      {
        "type": "website",
        "url": "https://thomasgauvin.com/",
        "title": "Thomas Gauvin",
        "primary": true,
        "lastObservedAt": "2026-10-02T15:11:40.003Z"
      },
      {
        "type": "website",
        "url": "https://thomasgauvin.com/writing/how-to-host-react-angular-vue-and-other-single-page-applications-on-cloudflare-workers-with-static-assets",
        "title": "How to host React, Angular, Vue and other single-page applications on Cloudflare Workers with static assets",
        "primary": false,
        "lastObservedAt": "2026-10-02T15:11:40.003Z"
      },
      {
        "type": "website",
        "url": "https://thomasgauvin.com/writing/all-the-ways-you-can-cache-on-cloudflare-and-how-granular-caching-makes-apps-faster",
        "title": "All the ways you can cache on Cloudflare (and how granular caching makes apps faster)",
        "primary": false,
        "lastObservedAt": "2026-10-02T15:11:40.003Z"
      },
      {
        "type": "website",
        "url": "https://thomasgauvin.com/writing/learning-how-mcp-works-by-reading-logs-and-building-mcp-interceptor",
        "title": "How the Model Context Protocol works: A Visualization",
        "primary": false,
        "lastObservedAt": "2026-10-02T15:11:40.003Z"
      },
      {
        "type": "website",
        "url": "https://thomasgauvin.com/writing/how-cloudflare-durable-objects-websocket-hibernation-works",
        "title": "Debugging WebSocket Hibernation with Cloudflare Durable Objects (and What I Learned)",
        "primary": false,
        "lastObservedAt": "2026-10-02T15:11:40.003Z"
      }
    ],
    "timestamps": {
      "firstDiscoveredAt": "2026-10-02T15:11:40.003Z",
      "lastCrawledAt": "2026-10-02T15:11:48.263Z",
      "lastVerifiedAt": null,
      "publishedAt": "2026-10-02T15:11:48.263Z",
      "updatedAt": "2026-10-02T15:11:57.513Z"
    },
    "gatewayDiscovery": {
      "status": "unmapped",
      "activeAgent": false,
      "urls": {},
      "capabilities": {
        "ask": false,
        "checkout": false
      },
      "checkedAt": null
    },
    "quoteRequest": {
      "available": false,
      "endpoint": null
    }
  },
  "canonicalUrl": "https://directory.websdocs.com/business/thomas-gauvin",
  "generatedAt": "2026-10-03T00:37:50.603Z"
}