{
  "apiVersion": "v1",
  "passage": {
    "id": "coinbase-ai-changed-build-vs-buy-calculus-internal-2026",
    "text": "AI changed the build-vs-buy calculus for internal tooling. Before AI, building something like Mux internally would have meant vendor evaluations, procurement, and months of negotiation. Now, one engineer with access to the right models and infrastructure can prototype in days what used to require a vendor relationship.",
    "context": null,
    "speaker": null,
    "speakerId": null,
    "speakerUrl": null,
    "speakerLevel": null,
    "role": null,
    "voice": "organization",
    "organization": "Coinbase",
    "organizationId": "coinbase",
    "organizationUrl": "https://the-ai-record.com/organizations/coinbase",
    "aiVendor": false,
    "work": {
      "title": "Coding Had a Concurrency Problem: How Mux Helped Solve It",
      "type": "post",
      "date": "2026-05-11",
      "publisher": "Coinbase engineering blog (byline: Alessandro Rodi, Adam Wolf)",
      "locator": "What About Open Source?",
      "url": "https://coinbase.com/blog/coding-had-a-concurrency-problem-how-mux-helped-solve-it"
    },
    "grade": "B",
    "gradeMeaning": "The organization's own post, paper or talk.",
    "verification": {
      "status": "verified",
      "meaning": "An independent second reader re-fetched the source and confirmed the wording.",
      "reviewedOn": "2026-11-04"
    },
    "topics": [
      "internal-tools",
      "developer-productivity"
    ],
    "functions": [
      "engineering"
    ],
    "figures": [],
    "url": "https://the-ai-record.com/passages/coinbase-ai-changed-build-vs-buy-calculus-internal-2026",
    "json": "https://the-ai-record.com/api/v1/passages/coinbase-ai-changed-build-vs-buy-calculus-internal-2026.json"
  },
  "notice": [
    "Every passage is reproduced word for word from the cited source.",
    "Check the verification status: \"reported\" means not yet confirmed by an independent second reader.",
    "Organizations flagged aiVendor sell AI tools or services and have a reason to publish flattering numbers.",
    "An empty result means the archive holds nothing on it, not that nobody has said anything."
  ]
}