{
  "apiVersion": "v1",
  "person": {
    "id": "thiago-magalhaes",
    "name": "Thiago Magalhaes",
    "role": "Author, Shopify Engineering blog",
    "level": "practitioner",
    "levelMeaning": "Someone doing the work at the organization.",
    "organization": "Shopify",
    "organizationId": "shopify",
    "passages": 5,
    "reported": 0,
    "url": "https://the-ai-record.com/people/thiago-magalhaes",
    "json": "https://the-ai-record.com/api/v1/people/thiago-magalhaes.json",
    "background": "Byline author of the Shopify Engineering post \"Reflex: an architecture for building mobile apps with agents\" (November 5, 2026), which describes the mobile team's own architecture.",
    "whyCredible": "Writes about the architecture of Shopify's own mobile apps in the company's engineering blog; first-party, and the post's results are the company's own.",
    "linkedin": null,
    "x": null,
    "profileSource": "https://shopify.engineering/reflex"
  },
  "passages": [
    {
      "id": "shopify-1700-behavior-tests-four-minutes-ci-2026",
      "text": "The bigger reason is headless execution: our 1,700+ behavior tests finish in about four minutes on CI, on both platforms.",
      "context": null,
      "speaker": "Thiago Magalhaes",
      "speakerId": "thiago-magalhaes",
      "speakerUrl": "https://the-ai-record.com/people/thiago-magalhaes",
      "speakerLevel": "practitioner",
      "role": "Author, Shopify Engineering blog",
      "voice": "person",
      "organization": "Shopify",
      "organizationId": "shopify",
      "organizationUrl": "https://the-ai-record.com/organizations/shopify",
      "aiVendor": false,
      "work": {
        "title": "Reflex: an architecture for building mobile apps with agents",
        "type": "post",
        "date": "2026-11-05",
        "publisher": "Shopify Engineering",
        "locator": "A contract built on first principles",
        "url": "https://shopify.engineering/reflex"
      },
      "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-06"
      },
      "topics": [
        "testing"
      ],
      "functions": [
        "engineering"
      ],
      "figures": [
        {
          "metric": "behavior-tests",
          "value": 1700,
          "unit": "count",
          "period": "as of 2026-11-05",
          "definition": "Behavior tests (lower bound, '1,700+') run headlessly against both the iOS and Android apps; about four minutes on CI",
          "level": "unclear"
        }
      ],
      "url": "https://the-ai-record.com/passages/shopify-1700-behavior-tests-four-minutes-ci-2026",
      "json": "https://the-ai-record.com/api/v1/passages/shopify-1700-behavior-tests-four-minutes-ci-2026.json"
    },
    {
      "id": "shopify-agentic-first-sidekick-same-surface-2026",
      "text": "We wanted the app to be agentic-first, and the same state-and-actions surface the CLI uses is what Sidekick, Shopify's AI assistant, uses to take actions inside the app. There's no separate integration layer for it. Anything an agent can do from the terminal, an agent inside the app can do too.",
      "context": null,
      "speaker": "Thiago Magalhaes",
      "speakerId": "thiago-magalhaes",
      "speakerUrl": "https://the-ai-record.com/people/thiago-magalhaes",
      "speakerLevel": "practitioner",
      "role": "Author, Shopify Engineering blog",
      "voice": "person",
      "organization": "Shopify",
      "organizationId": "shopify",
      "organizationUrl": "https://the-ai-record.com/organizations/shopify",
      "aiVendor": false,
      "work": {
        "title": "Reflex: an architecture for building mobile apps with agents",
        "type": "post",
        "date": "2026-11-05",
        "publisher": "Shopify Engineering",
        "locator": "A contract built on first principles",
        "url": "https://shopify.engineering/reflex"
      },
      "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-06"
      },
      "topics": [
        "product-and-design",
        "internal-tools"
      ],
      "functions": [
        "engineering"
      ],
      "figures": [],
      "url": "https://the-ai-record.com/passages/shopify-agentic-first-sidekick-same-surface-2026",
      "json": "https://the-ai-record.com/api/v1/passages/shopify-agentic-first-sidekick-same-surface-2026.json"
    },
    {
      "id": "shopify-fixtures-big-tedious-human-fine-agent-2026",
      "text": "The upside is that the suite has no I/O and no flakiness; the price is that fixtures get big. A single journey can carry a dozen GraphQL responses, which is tedious for a human to maintain but fine for an agent.",
      "context": null,
      "speaker": "Thiago Magalhaes",
      "speakerId": "thiago-magalhaes",
      "speakerUrl": "https://the-ai-record.com/people/thiago-magalhaes",
      "speakerLevel": "practitioner",
      "role": "Author, Shopify Engineering blog",
      "voice": "person",
      "organization": "Shopify",
      "organizationId": "shopify",
      "organizationUrl": "https://the-ai-record.com/organizations/shopify",
      "aiVendor": false,
      "work": {
        "title": "Reflex: an architecture for building mobile apps with agents",
        "type": "post",
        "date": "2026-11-05",
        "publisher": "Shopify Engineering",
        "locator": "Our test trophy",
        "url": "https://shopify.engineering/reflex"
      },
      "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-06"
      },
      "topics": [
        "testing",
        "developer-productivity"
      ],
      "functions": [
        "engineering"
      ],
      "figures": [],
      "url": "https://the-ai-record.com/passages/shopify-fixtures-big-tedious-human-fine-agent-2026",
      "json": "https://the-ai-record.com/api/v1/passages/shopify-fixtures-big-tedious-human-fine-agent-2026.json"
    },
    {
      "id": "shopify-second-native-implementation-costs-far-less-2026",
      "text": "With agents writing most of the code, a second native implementation costs far less than it used to. An abstraction layer still carries its full cost: it adds a maintenance surface, hides platform behavior you later need for performance work, and turns every platform upgrade into a two-step migration. Writing the same ViewModel twice is cheaper than maintaining a bridge between the two.",
      "context": null,
      "speaker": "Thiago Magalhaes",
      "speakerId": "thiago-magalhaes",
      "speakerUrl": "https://the-ai-record.com/people/thiago-magalhaes",
      "speakerLevel": "practitioner",
      "role": "Author, Shopify Engineering blog",
      "voice": "person",
      "organization": "Shopify",
      "organizationId": "shopify",
      "organizationUrl": "https://the-ai-record.com/organizations/shopify",
      "aiVendor": false,
      "work": {
        "title": "Reflex: an architecture for building mobile apps with agents",
        "type": "post",
        "date": "2026-11-05",
        "publisher": "Shopify Engineering",
        "locator": "Share the test, not the code",
        "url": "https://shopify.engineering/reflex"
      },
      "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-06"
      },
      "topics": [
        "coding-agents",
        "developer-productivity"
      ],
      "functions": [
        "engineering"
      ],
      "figures": [],
      "url": "https://the-ai-record.com/passages/shopify-second-native-implementation-costs-far-less-2026",
      "json": "https://the-ai-record.com/api/v1/passages/shopify-second-native-implementation-costs-far-less-2026.json"
    },
    {
      "id": "shopify-the-bottleneck-was-the-feedback-loop-2026",
      "text": "When we decided to rebuild our apps natively, we went back to the drawing board with a basic question: how should a mobile app be built when agents write most of the code? The biggest bottleneck we had was the feedback loop. An agent can write a screen in minutes, but proving that the screen works requires an emulator, a build, a tap script, and a lot of patience.",
      "context": null,
      "speaker": "Thiago Magalhaes",
      "speakerId": "thiago-magalhaes",
      "speakerUrl": "https://the-ai-record.com/people/thiago-magalhaes",
      "speakerLevel": "practitioner",
      "role": "Author, Shopify Engineering blog",
      "voice": "person",
      "organization": "Shopify",
      "organizationId": "shopify",
      "organizationUrl": "https://the-ai-record.com/organizations/shopify",
      "aiVendor": false,
      "work": {
        "title": "Reflex: an architecture for building mobile apps with agents",
        "type": "post",
        "date": "2026-11-05",
        "publisher": "Shopify Engineering",
        "locator": "Introduction",
        "url": "https://shopify.engineering/reflex"
      },
      "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-06"
      },
      "topics": [
        "coding-agents",
        "testing",
        "bottleneck-after-agents"
      ],
      "functions": [
        "engineering"
      ],
      "figures": [],
      "url": "https://the-ai-record.com/passages/shopify-the-bottleneck-was-the-feedback-loop-2026",
      "json": "https://the-ai-record.com/api/v1/passages/shopify-the-bottleneck-was-the-feedback-loop-2026.json"
    }
  ],
  "reportedPassages": [],
  "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."
  ]
}