AUDIO EDIT Shopify Winter Edition - Eytan === [00:00:00] Paul: Hi there and welcome to Pod Rocket, a web development podcast brought to you by Log Rocket. My name is Paul and I'm joined today with Aiden Seidman. He is the VP of product at Shopify, and we're here to talk about Shopify's Winter 26 edition, and we're gonna learn a lot. About how AI is emerging into the market and how Shopify is ~kind of ~spearheading some interesting ways that you as developers and people who are building stores can hop right into it. So I'm excited to learn some stuff. Aiden, excited to have you here. Welcome to the podcast. Eytan: Yeah, thanks for having me. ~Really, ~really excited to be here. Paul: So big question before we jump into anything. What is the problem space, or what is the poster child problem that you guys ruminate on when you're trying to sell and address this cycle? Eytan: Yeah, ~I mean, ~I think ~the, ~the big thing of this cycle was really about driving towards. Helping our developers and our merchants do more with ai. ~Um, ~it's, I think it's probably obvious ~to, ~to anybody who's playing day in, day out with models that the capabilities are increasing [00:01:00] dramatically. And we wanna make sure that we can use that technology to help accelerate,~ uh,~ again, our developers and merchants. ~So. ~On the developer side,~ uh,~ I'd say the big headline is that, ~you know, ~our entire platform,~ uh,~ is now ~like, ~can now be utilized through our Dev MCP server. So when you're in Cursor, you're in your IDE, whatever it is, you can bring in our Dev MCP server and it will cover the entirety of the platform. So starting from. Very basic things of ~like, ~Hey, help me go scaffold, like an app home or an app extension to doing configuration of your app. With our app Tomal,~ uh,~ every single part of it is something that,~ uh,~ our dev MCP server can,~ uh,~ help generate the code for and then also do validation on to make sure it's working. Paul: Do you see the MCP build out as an extension to using the Shopify platform? Do you see it as the ideal way right now? And will that change in six months? Eytan: ~Uh, ~I think it is the ideal way right now. Like I think if you're building Shopify apps, building Shopify experiences,~ uh,~ doing things with themes and ~uh, uh, ~and [00:02:00] storefronts,~ um,~ using liquid, it is for sure the ideal way to, to do development, like the ideal kind of,~ uh, uh, ~co-pilot if you will. ~Um, uh, and. Yeah, I mean the,~ and the reason why is it's going to make,~ uh,~ building out your experience just so much faster, right? So if you have an idea for ~like, ~Hey, I want to build an app, it's going to help,~ uh,~ d do discounting it again, it can generate the code for you to be like, okay, go and create a function that will do a payment customization, for example, or,~ um,~ build a checkout UI extension, all of that sort of stuff. The speed at which you can bring these ideas to life is gonna be so much faster with a dev MCP server. Paul: ~Uh, ~in MCP servers, the way they're consumed and used really depends on the harness that they're mounted into. ~Uh. I mean, ~the way Claude Desktop would use it would be different than cursor, than code. What is the recommended medium to interface with this? You mentioned cursor. Eytan: Yeah. ~Uh, I, I mean, ~look,~ I,~ I think it depends. ~Um, ~my, my setup tends to be cursor with our dev MP server. I also use claw desktop, like you mentioned with our Dev MP server. Those are probably my two that I use most often. ~Uh, ~I think it's gonna be whatever folks are most [00:03:00] comfortable with. ~Like, ~that is the nice thing about it, right? Given the open protocol nature, people can leverage it in whatever client they feel most productive. ~Um, ~what's really nice about,~ uh,~ cursor,~ uh,~ when using it, there is. ~Um, ~it's generating the code for you. It's going and touching all the files you need to, and literally you're just seeing hot reloading of,~ uh,~ of your app or your extension,~ uh,~ in real time,~ um,~ as generating the code. So ~it, ~it just, like I said, you can go from like idea to seeing something,~ um, you know, ~to seeing the code change, to seeing the experience in your app, your extension in literally, ~you know, ~tens of seconds. Paul: Now you're describing a AI native. First experience for people building. ~Um, ~anytime we start jumping into this realm of, okay, AI is the driver, AI is outputting the bulk of my work, or the,~ or,~ or the menial stuff. ~Um, ~people are concerned about validation,~ uh,~ hallucinations, all that stuff. ~Um, ~so how are you guys tackling this? ~Uh, there's, ~there's a myriad of ways that people will approach it, whether it be like returning instructions from the MCP [00:04:00] sermon. They're like, Hey, by the way, ~you know. ~Go validate this against something in your code base or there's other things internally in the account. ~Um, ~and how does that extend beyond MCP? Does it bleed into the dashboard? How can you interface,~ uh,~ with that which the LLM is doing so that you can get a handle on stuff? Eytan: ~Yeah, ~yeah. No, it's a great call out. So, right. I mean, a big part, a big challenge with,~ uh,~ LLMs is that they can hallucinate,~ um,~ and just things that look totally legit and normal,~ um,~ are not actually it. ~Um, ~so what we have as a part of our MCP. Is a validation tool,~ uh,~ that is available to an MCP client, like cursor or like Clogged Desktop. ~Uh, ~and so ~what, ~what that client can then do is take the code that it generates and push it through our validation tool, which will then check to see if it is actually valid code. ~Um, ~and so ~most, ~most clients will end up using that MCP tool,~ um,~ which will then find issues and then return back being like, Hey, you generated a piece of code. But it's giving you back, basically return back. Okay. These are the validation issues that we [00:05:00] found,~ um,~ and we find that makes a huge difference in terms of quality. ~Um, ~where the code that it's going to generate ~is going to tend to be far more, uh, obviously like semantically, correct. Sorry. It it'll,~ it'll actually build ~and, and, ~and run, but also tends to be more semantically. Correct. So, yeah, ~I mean, ~I think the validation ~is, is a, ~is a big step forward in terms of making sure that it's actually,~ uh, you know, ~working legitimate code. Paul: Where do you see some of the,~ uh,~ edges that people should be aware of when they're transitioning from, whether it be, I've never used Shopify before, and now I'm using the LLM, like maybe there's still. Things that it gets eager with you don't really need. Who knows? Or maybe you are a Shopify user and you think something will get taken care of 'cause it's just standard business. But the LLM might be aware of some other POV 'cause of optimizations and such. Eytan: ~I mean, I, ~I probably the biggest thing to be aware of, which is, which we think is generally a good thing, but obviously this is where like developers will have to ~come, ~come in ~and, ~and use their own. Kind of like insight into what they wanna do is ~Shopify will tend the, ~the, the MCP server is going to tend to leverage Shopify capabilities and Shopify primitives, which the vast majority of time is probably gonna be the right thing. But sometimes [00:06:00] a developer may wanna say, Hey. ~Uh, ~this is a place where ~like, ~it doesn't make sense for me to go use, say like meta fields and meta objects is our storage layer for storing merchant data. ~Uh, ~they may say, Hey, this is an instance where I don't want to use that, and I prefer to have my own separate storage layer because of the nature of the data that's being stored. So I, I think,~ uh,~ that's probably the place, one of the places where I think developers will have to, of course, look at it and be like, okay, well~ well is this a, you know, uh, ~is this ~the ~the way I actually want to be doing things? Paul: And you say, oh, excuse me. Go Eytan: ~I ~I was gonna say ~like, ~LMS are very eager to please, ~right. Uh, ~and they're very eager to, and they do a good job of it, of ~like ~solving the direct problem at hand. ~I, ~I think developers are gonna have to again, bring that kind of like their knowledge, their context to be like, okay, is this actually the way I want to go back Things from my application. Paul: And you did mention a baseline of, if it does recommend that it, uh, such primitives. Probably is the right way to lean. Maybe you're building something out. And so that example you just gave,~ right, uh, ~metadata that this was on the merchant just as a primitive understanding. Why would that be the right place to, to store [00:07:00] it? ~Uh, ~maybe it's laws, regulations and stuff, just to peek into that. Eytan: Yeah, sure. No, it's a, it's a,~ it's a, it's a, ~it's a good to drill into,~ um, right, so, ~so we have,~ uh,~ an underlying storage capability called meta fields. And meta objects, which you can think of meta fields as basically a key value storage attached to a resource,~ um,~ in Shopify. So think of like an order,~ like,~ Hey, I have an order, and then I have some extra custom data attached to it. Or you can define your own resource, which is called a meta object. The reason why the vast majority of time it's going to be a good storage layer to use, is if you're building an application,~ uh,~ for a merchant, storing merchant data there makes a ton of sense, right? Why? Because,~ uh,~ because it's gonna be the fastest, right? It's gonna be available to the merchant broadly across Shopify. ~So. Uh, ~let's take a use case where,~ um,~ like I wanna store some warranty information. Like every product has some warranty that my application is determining. ~Uh, ~great. Now that metadata about the warranty can be leveraged in other parts of Shopify because the data is getting stored there. So it could be leveraged in like ~our, ~our flow application and other use cases. ~So, um, so. ~[00:08:00] Again,~ the,~ the majority, the vast majority of time it'll be the right thing. There may be instances where they're like, Hey, actually this is really not merchant facing ~and, ~and doesn't really, shouldn't be in front of merchants in ~any, ~any which way. Paul: Nonetheless, it's exciting because, ~you know, ~I found this when Stripe first came out with their MCP. You start to learn about ways that maybe things should be done that you wouldn't naturally have leaned towards. ~Um, ~if you're not an expert or somebody who has worked deeply in the platform, ~um. ~So do you see the MCP server? Definitely having that same attitude ~and, and, ~and potential for developers if you start putting it into your workflow as a first class citizen. Eytan: ~Uh, ~a hundred percent. ~I mean, another, yeah, I, I, I think so. Uh, ~another example of this is like UI components, right? So the MCP server is going to generate UI using our latest UI components, and I think is going to open people's mind up in a way of ~like, ~oh wow, that's a really neat way of ~like, you know, ~of laying out. ~Uh, of, ~of showing my information on a checkout UI extension. ~Uh, ~it'll probably draw from all the patterns,~ uh,~ and examples that we have,~ um,~ that are encoded in across [00:09:00] Shopify to, to leverage those effectively. ~So, uh, I, I think, ~I think ~that that's, ~that's definitely accurate. I. Paul: ~So~ Sidekick is,~ uh,~ a big piece of this,~ uh,~ push right now and it's gonna allow the mobile app developing platform to really blossom for developers, not only in the MCP context. So can you tell me a little bit more about why you guys are so excited,~ uh,~ about this? Eytan: Yeah, sure. So Sidekick is our agent that we give to merchants inside of the admin to help them get various tasks done around the admin. So merchant can come in and say, Hey, sidekick, tell me about. How my business is performing today, or hey, sidekick,~ like,~ help me create some products. ~Um, ~and so it's putting ~like, uh, ~really awesome agentic tooling in the hands of merchants to get more done faster. ~Um, ~to date. Apps have not been able to be part of sidekick. ~Uh, ~but ~that's, ~that's changing,~ uh, very, ~very soon. ~Um, and so what we've announced and shared is. Um, uh, the ability for apps to a, uh,~ and we're doing it in two ways. The first way is through a search extension where,~ uh,~ like a, basically a search capability where,~ um,~ apps can give us information about their app capabilities,~ uh,~ and what it can do. Like, hey, my app is an email app and it helps, ~uh. You know, ~[00:10:00] merchants run campaigns and they can help manage email lists,~ uh,~ and things of that nature, and they can share with us those capabilities that then enables a merchant to come in and say, Hey. Uh, sidekick. Tell me about my latest fall campaign or my latest BFCM campaign,~ uh,~ and how it performed. And the data would come back from the app and sidekick would show it to the merchant. So that's really neat that we're bringing, we're gonna be able to bring the power of apps and ~the, ~the data of apps into sidekick. That's one way. ~Uh, ~the other way is through user interface, right? Where it's like, Hey,~ I,~ I have an app installed on my shop. Again, let's continue with the email example. That helps me like do email campaigns. I can say, Hey sidekick, I want to create a new email campaign. And then it will bring up the user interface of the app to help the merchant do it and execute the campaign. So just ~kind of ~giving them a really nice shortcut where they can be in sidekick and not have to figure out, oh, hang on, I gotta go navigate to the app. I have to go click this button to do new campaign, et cetera. So two big new capabilities for [00:11:00] apps. ~Um. ~Both of which help them show,~ uh, you know, ~render their capabilities in sidekick. One is around data and like searching app data, and the other one is about user interface. Paul: Do you think that,~ uh,~ this also opens up opportunity for people creating these plugins to, ~you know, ~have a special edge or niche in the way that they make the structure of their plugin? ~Uh, ~LLM ready? Eytan: Yeah, ~I mean, I, I, ~I think what's going to be interesting is that this is going to expose them and, we'll, we're gonna work to get developers this data, like their merchants are going to be asking these questions of apps and I think are going to be opened up to this new world of ~like, ~hey. ~Like, you know, um, we, ~we can even imagine a merchant telling a developer like, Hey, ~I was, ~I was trying to ~like ~leverage your app data through Sidekick, and I'm asking these questions and some of it's working pretty well, but some of it's not. And then seeing it, and then I would imagine, ~you know, ~developers are likely going to respond to that and like you said, make their app capabilities work even better in an lm, LM context. Paul: Got it. Okay. Eytan: Yeah. Paul: And one poster child question that people are gonna have,~ um,~ as they're walked through. There are different ways they can set. Things up, [00:12:00] extend, refactor, where's the secure data going? ~Uh, ~where might I need to be aware of as a developer,~ uh,~ on checkout? ~Uh, there's, ~there's a lot of different things that go into that. ~Uh, ~how does the MCP server help minimize the undeniable, like everybody's had that experience where you go, oh crap, that wasn't supposed to happen. I didn't notice that. ' cause yeah, this is a high spread here. Eytan: Yeah. So ~I mean, ~MCP server is going to. ~Uh, ~okay. So ~from a, ~from a data access perspective,~ um,~ every app will still have to,~ um,~ request scopes,~ um,~ which are basically ways of asking for permission to, for certain data from the merchant. So all the scopes,~ um, are, are, ~are the same, whether they're general, whether you're doing them by hand or you're having an MCP server doing it, the MCP server is going, it actually will know and will realize like, Hey, I'm using this thing this. Resource, and therefore I need this scope. It will, you know, the, the vast majority of time get it right,~ um, and, ~and ask for the scope and put it in the configuration file,~ um, uh, ~for the developer to,~ to,~ to then ask the [00:13:00] merchant. ~Um. ~And,~ uh, and, ~and ~it'll, ~it'll likely work to minimize data because again, the nature of where it's drawing from and it's leveraging a ton of examples from our references from across the Shopify,~ uh,~ from shopify.dev, it will work to do data minimization ~just, ~just naturally because of, again, where it's drawing from. ~Uh, ~now developers is another place though, where developers are gonna have to be aware, right? ~You know, ~they're gonna have to, ~uh. ~Understand, okay, my app has certain scopes. Does it actually need all those scopes And probably go in and verify and make sure, hey, I'm actually requesting only data that ~I, ~I truly need. Paul: So in, in general, ~you see, well, ~I expect people are gonna see,~ um,~ a whole new breed of stores coming out. ~Uh, ~different types of commerce emerging. How do you see the landscape changing? Aiden? ~Uh, ~do you see smaller stores, more stores? Stores that have like crazy features that wouldn't have those features before with a team that's back in that store. Eytan: Yeah, ~I mean, like, ~I'll talk about it from the app side, which then ~kind of ~influence like what we see on the, on like on the merchant store side. ~Uh, I mean, I, I think. I mean, I think there's probably a couple of things that are, are going to, I mean, we're seeing a lot like the, the,~ there's been a dramatic increase in the number of apps that are [00:14:00] getting built on the platform because it is so much easier because our platform is AI ready. ~Right? ~Because it's ~like, ~okay, I can basically take cursor, take log desktop, added a dev MCP server. Literally type in a handful of prompts and now have a working application that can be installed on a merchant shop to go and customize it any which way. ~Um, ~so ~I, ~I think the amount of ~like, uh. ~Personal software, if you will, that ~like, ~Hey, I'm a merchant. I want to go build something out. Or I'm a developer, I'm an agency working for a develop, like ~for, ~for a merchant. ~The, the, ~the cost to go and produce these things is going to come down meaningfully, which is going to enable use cases that previously were just not really possible. ~Um, ~because before I was like,~ well,~ just, it's just too expensive to go and hand write all that. ~Um, so, um. So, ~yeah, I dunno if that, that, that answers your question, but ~I, I, ~I think there's going to be just ~way, ~way more possibilities because it is so much easier ~to, ~to build it now. Paul: Yeah,~ I,~ I guess I'm, that, that is part of the question. Another piece would be. Of those opportunities are gonna naturally emerge because the delta of cost benefit is [00:15:00] becoming closer. Do you think it's gonna be more independent people who are just gonna go, wow,~ I,~ I have identified this niche, I've identified this idea. Or is it gonna be people who, ~you know, they, ~they have a group, ~they have a, ~they have a development shop like you mentioned,~ um,~ because they already have the wheels turning and this is just gonna accelerate them more. ~Um, ~do you see them? Similarly increasing. ~Um, ~what are you guys seeing right now in terms of who's approaching the Shopify platform ~and, ~and outputting apps? Eytan: Yeah, I mean ~we're, we're, ~we're seeing both, ~I mean, ~like we're seeing both an increase from like existing partners who are building more apps. ~Uh, ~and then we're also seeing new folks coming on the platform who maybe six to 12 months ago would not have, because again, the barriers were higher. It was harder to get started, and now it's just increasingly easier. ~So, ~so I think it's, I think it's both. Paul: Got it. Okay. ~Um, ~now if you were an independent developer. Because we got a lot of people listening who,~ uh,~ are on the weekends wondering what they should do. Where would your attention be spotted right now Eytan: Like what? ~Like ~what category of applications? Paul: yeah, what category of applications, what size customers,~ uh,~ what sort of,~ uh, uh, ~[00:16:00] areas do you see that Delta becoming immediately? ~Uh. ~More palpable,~ uh, to, to, ~to bring us this type of commerce into an industry or a sector that right now doesn't participate in it, Eytan: Yeah, it's a good question. ~Uh, I, I mean, I'll, ~I'll give a couple that are top of mind. ~Uh, ~I'd say one is. Paul: and nobody's gonna come after this is off the cuff. Yeah. Eytan: yeah. ~Yeah,~ Paul: just ruminating. Eytan: ~I mean, I, ~I, so I think a couple things are interesting. So I think one is,~ um,~ applications that do a really great job. Across our various channels and surfaces. So what I mean by that is like, Hey, I have an app that, again, let's come back to our example, our canonical example for discounting and making that app work really well across both our checkout, but also point of sale. Which point of sale for Shopify is growing really nicely. We see more and more brands embracing it. ~Um, ~so ~that's, ~that's ~kind of like ~one area that I think is interesting is ~like, ~hey, doing it well across the platform, but then also probably ~like ~POS like point of sale specific things. ~Right? ~Again, this is an area that we've called out is growing quickly for [00:17:00] Shopify. ~Um, ~and I think there's just a lot of scenarios that,~ um, that ~that, that are, that, that are waiting be tapped there. Paul: Point,~ uh,~ POS as in. We're talking physical devices, we're talking people paying, and we're talking about applications that can run for those businesses on those platforms,~ uh, to, ~to help them with their commerce. ~Right.~ Eytan: Yep. Yeah, I think it's, yeah, I think it's, yep, for sure. Paul: ~Um, ~do you see developers leaning in there potentially like spinning up services, analytics,~ uh,~ ways to engage with these customer bases? ~You know, ~that is a myriad of opportunities. 'cause it really depends on where that POS would be. ~Um, ~but I could totally see developers coming up to somewhere that would never traditionally think about this and go, how can I make this business make more money? ~Uh, ~this would be a way that you can approach it quickly. Eytan: Yeah. Yeah. Another, another opportunity that we just opened up is we have a new analytics API,~ uh, like, ~which is giving developers the ability to go query, to basically give a Shopify QL query and go and,~ uh, you know, uh, ~have that data ~ex, like, have that~ executed ~on ~on Shopify. That's another interesting possibility, which could open up a whole new world of applications,~ uh,~ that [00:18:00] previously was not possible, right? So it's like, hey, like we have a default analytics experience, but taking the three P analytics API, leveraging that in interesting ways to help merchants understand their business,~ uh,~ in ways again,~ that,~ that we don't provide outta the box. I think it's going to be another, is another big opportunity space. Paul: ~Now of the different ways that we've kind of touched upon MCP, uh, helping developers enter the Shopify platform, what are some particular features? 'cause there there's a lot to talk about, um, that, that, that you think people might not be aware of when they look at the splash screen or, or the blog press release.~ Eytan: ~Uh, features of the MCP server.~ Paul: ~Features of the, the general push of, um, it could be minis, uh, it could be, uh, it could be the new, uh, way that you're structuring the new way that you're structuring people, the way that they can actually scaffold the app from zero to a hundred if they've never touched a platform. Um,~ Eytan: ~Yeah. Yeah. Go ahead.~ Paul: ~Yeah.~ Concretely, what is one product that people can go Google ~in this 26 release, the the ~in the winter release,~ um,~ that you think would change the way that they would approach Shopify rather than going, Hey, there's an CP server, I'm gonna go to shopify.com, install this thing and just try to scaffold an app. It could be a new way of them to handle the commerce. It could be a new way for them to,~ uh,~ think about scaffolding a product on top of Shopify. Eytan: ~Yeah. And when you say like, one thing to go and just want to make sure I get it. Well, like, like is this like a concrete use case that they might go and do like a, that they might go and build or like Yeah. What, what, yeah, what are you, what are you, what~ Paul: ~no. A con, a concrete, um, p uh, product, uh, that you guys have put out and branded.~ Eytan: ~When you say product, you mean like, like inside the MCP server? Like, like, okay. Um,~ Paul: ~Yeah.~ Eytan: yeah, so the way to think about the MCP server is it has a set of capability, it has a set of tools, and those tools unlock. A bunch of capabilities. ~Um, ~and so from the very get go, it can help you scaffold the app. It can then help you build,~ uh,~ an embedded app home that lives inside the Merchant of Min. It can help you create checkout UI extensions, POS UI extensions, admin extensions, so helping you [00:19:00] build every surface across every surface, and then also help you do what we call app configuration, which is your tomo file, which controls your access scopes. Like what data do you need? Your data setup, meta fields and meta objects. ~So, um, ~I think what ~the, ~the thing that I may, that maybe is actually ~kind of ~worth pointing out is when people approach it, they may not realize that it can do the entire platform. ~Uh, because, ~because of, just like ~the, the, ~the tool names may not make it obvious. So I think that the thing I would just encourage people is like, Hey, just try it to go and build any idea that comes to mind. Hey, I want to go and like. Work on a new POS UI extension, point of sale UI extension. I want go work on the analytics a PII wanna go and bill, so for checkout, I would encourage developers to just start with the dev MCP server. Try it out, try your idea there and see what happens. ~And I, ~and ~I, ~I think a lot of people are going to be pretty amazed ~at, ~at just how much it can do. We're we internally are building end-to-end apps truly working,~ uh,~ in ~like ~20 minutes? Paul: That's wild. And does that mean [00:20:00] deployed as well? Like the MCP server can take you home. Eytan: ~Uh, not, ~not deployed all the way, but some,~ uh,~ but enough that, like, I can put on a GitHub repo and somebody can go take a look at it. Paul: ~Uh,~ Eytan: ~so, so maybe, maybe, so, maybe another fi~ maybe another five minutes to go deploy to Cloud Run or something like that. Paul: right? ~Um, ~okay, so it can cover the whole platform. What if you have just like a ton of stuff, Aiden? ~Like, ~what if I have a thousand products ~and, ~and I have,~ uh,~ this. Entire encyclopedia of discounts ~and, and, ~and different settings and stuff. Have you guys tested the MCP server? So I don't get that warning in cloud code that's ~like, ~Hey, you're about to do 50,000 tokens with this one MCP server. ~Uh, ~'cause that's a horrifying thing to see when it nukes your whole session. Eytan: Yeah. ~Um, so. Like, ~so we have seen that. ~Um, ~however, the thing ~I ~I would frame it as is,~ uh, really encourage folks. Like, I, ~I think ~the, ~the value that you're going to get from it fundamentally is so massive, right? ~Like, ~because again, we're talking about something that can literally generate an entire app for you,~ um,~ and,~ uh,~ and generate all the code for you. So I think ~the, ~the thing that, you know. People need to think about. It's ~like, ~Hey, ~you know, ~okay, maybe I'm spending [00:21:00] whatever, 20 bucks a month on, on cloud code, or 20 bucks, whatever it is on cursor. But like the amount of time that you're saving to get from zero to your idea being built,~ it, it, ~it's just so dramatic. Yeah. Paul: Now if people will get you their idea really quick,~ um,~ naturally that doesn't mean you're reading every line of code. ~You, ~you read as much as you can. You watch your assistant as it goes. ~Uh, ~what is your guiding sage advice to help minimize errors and minimize that debugging time of repaving the road over and over. Eytan: Yeah,~ uh,~ that's a really good question. ~I, ~I think it depends on the surface. ~I mean, ~I think with u with user interface centric things, the nice thing is you can see it, you can touch it metaphorically. You can go and just play with it and see how it's working. So that is obviously, I think something I would definitely encourage folks to go and do. ~Um, ~we also have our MCP server. Can generate what are called Shopify functions. Shopify functions is logic that,~ um,~ that runs, ~you know, ~on services like checkout. And for that we have ~like ~some testing tools [00:22:00] that, that are also coming out as a part of this, making it easy to set up tests, to validate that the functions working correctly. ~Um, ~so those are ~kind of like ~two things I would say, like use and play with ui,~ uh,~ and then use our functions testing capabilities. Paul: Now looking at your own development of the MCP server as a team. What's some stuff that you guys have learned along the way? Because ~any, ~any team developing MCP AI tools that are actually production ready? ~I mean, ~the SDKs change so fast. ~Uh, ~if anybody's been through the s ai, SDK four to five, it's basically rewrite your whole code. ~Uh, ~everybody's learning. 2025 has been a crazy year. So what have you guys learned along the way? ~Um. ~And what are you proud to say that you're on the other side of the fence now, where you're like, wow, I can't believe we're in this great spot now with the MCP server in the way it interfaces with this ~huge, ~huge set of products and APIs. Eytan: Yeah, it's a great question. I think there are two big learnings we've had. ~Um, ~the first is around examples, right? It is ~really, ~really critical for both humans and [00:23:00] also machines to have a lot of examples of what good looks like,~ um,~ and how to go solve different classes of problems. So whether that is UI components and giving examples of how to use UI components to go build an experience. So we have a pattern section. ~Um, uh, on our, ~on our UI components reference, we, that is leveraged as a part of our MCP tooling. We have a lot of examples. I was talking about Shopify functions just now. We have a lot of examples of Shopify functions of how to use Shopify functions to. ~Uh, ~do delivery, customization, payment, customization, discounting a whole slew of scenarios. Those two are leveraged as a part of our MCP. So that's one big learning we've had is just the importance of that. And that also, that's an, that's a thing that is important for both humans if you're looking at a reference and also for machines. ~Um, ~so that, that's the first one. And the second one is around validation. ~Uh, ~I think validation ~was a, ~was a big unlock. And again, developers will see this when they're using our MCP server with their tooling,~ uh, or, ~or inside their IDE ~is, ~is those MCP clients leveraging the validation,~ uh,~ piece,~ uh,~ because that is the thing [00:24:00] that is a good guardrail ~when, ~when cps, ~you know, ~hallucinate,~ um,~ and we can go check the code, validate whether we're checking, validating, GraphQL, validating functions, almost anything to make sure it's actually accurate. ~ And it, ~and it drives,~ it drives, ~the quality up dramatically. ~Uh, you're muted.~ Paul: ~Thank you.~ Eytan: ~No worries.~ Paul: ~Uh, ~where do you see people who might not be developers,~ um,~ and might not be dealing with as much complexity or they don't wanna deal with that much level of complexity interfacing with these tools? ~Um. ~There's a lot of professional MP tools out there,~ uh,~ Airtable, stuff like that, to, to manage these different,~ uh,~ CRMs and stuff. Eytan: ~Mm-hmm.~ Paul: Do you see that audience using your tools? How do they use your tools? Eytan: Yeah. ~Uh, well, I think, ~I think what this does is it lowers the barriers ~to, ~to entry, right? ~Like, uh, ~because if you don't know the Shopify platform or like, there's certain things,~ uh,~ actually that, you know, certain languages that are certain parts of the platform that are. Scary to you because you're like, okay, I don't know that technology super well. This makes it so much more approachable. So ~like, ~actually, look, again, let's go to ~like ~a real example. ~Uh, ~Shopify functions,~ um,~ are [00:25:00] very often are preferred approaches to write them in rust. Rust is probably a language that is not familiar to most developers. Good news is the Shopify Dev, MCP will produce really high quality RUS code to go and do that. Discount or that payment customization,~ um, that, ~that we're talking about. And so that's a good example of ~like, you know, it, ~it makes it so much easier to do it and. ~You know, ~you can then take that rust that gets generated and probably learn enough to manipulate it,~ uh,~ and edit it where you need to. ~Um, ~and so ~I, I, ~I think ~for, ~for developers at large who again, have to know a lot of different technologies, this makes it a lot easier. And even for people who are just technically curious, right? ~Um, you know, ~it, it can be daunting to write things from scratch yourself, but if you're just a technically curious person and you're willing to like. Learned a little bit. I think now ~it's, ~it's so much easier to get started. Paul: And ~I, ~I find it interesting that you mentioned the rust code being notably of high quality. Um.~ Um. ~the MCP help it,~ uh,~ via these examples that you're talking about, really land in a good spot rather than if you just said, Hey, Claude, give [00:26:00] me a Shopify Russ function. Eytan: Exactly. Yeah. It's a combination of the examples that ~it, ~it can leverage and also the validation. Paul: ~That's ~that's really neat that you guys can,~ uh,~ bring in the like. Bespoke intelligence of the Shopify Way and make sure it doesn't mess it up. Yeah. Because ~that, ~that's always ~a, a, ~a myriad of like, oh my gosh, I have to waste all these hours. Maybe I have to bring in a standard library and have a look at it. ~Um, ~so you're kind of like curating that behind the scenes ~and, ~and offering the MCP server outta curiosity. Do you guys use the resource, ~uh. ~Arms in MCP server. I know it's ~kind of ~a odd question, but a lot of MCP servers out there,~ they'll,~ they'll have the functions that you can call. There's this whole other side of the spec regarding MCP resource. ~Um,~ Eytan: Yeah. Paul: if like you guys have examples behind that ~or, ~or if this might be one of those use cases that we just haven't heard of yet of people really making ~good, good, ~good use of that Eytan: ~Uh, ~we're using MCP tools is Paul: MCP tools. Got it. Okay. Eytan: tools. Yeah. Paul: Yeah, it's, it's interesting, it's like one of those pieces of the spec that just like nobody has really,~ uh,~ hit the bell on, ~I guess.~ I guess it's, who knows if it's gonna stick around.[00:27:00] Eytan: think there's different parts of the MCP spec that have different coverage by clients. So tools is the most ubiquitous thing across clients. That works quite well, no matter the MCP client like we were talking about earlier. ~Um, and that, ~and ~that's, ~that's where we focused our energy. Paul: ~Uh, so what, where do you, ~where do you see the future of this going, Aiden? ~Um, ~in the next ~like ~six months. Because my initial question was, Hey, do we see this becoming the defacto way in six months? And you said, no, ~it's now, ~it's now. This is the preferred. Use it to use it now. ~So, ~so then what does six months look like? Eytan: Ooh. ~Uh.~ Paul: ~Uh, uh, sorry. That was a bomb.~ Eytan: ~sorry. Do you wanna do~ Paul: ~was a bomb of a question.~ Eytan: Yeah. ~Uh. ~It's,~ uh,~ six months is a long time right now in, in the era that we're in. ~Uh, I, I think that the thing that is. Yeah. Like, so, ~so, okay, so today we cover the whole platform,~ uh,~ with MCP server. You can, like we talked about, build everything from app home extensions, configuration, liquid GraphQL. It ~can do it, ~can do it all. ~Um, I, I, ~I think probably the biggest thing is going to be speed and quality, right? ~Like, you know, it's, ~it's not like a secret that. The latency on these things is not always like spectacular. ~Um, I, I, I, ~I think we're gonna see faster execution. ~Um, ~I also think, look, there are times now where the quality ~is, ~is [00:28:00] not quite where it should be. So let's just give an example. ~Uh, ~generating UI experiences, right? There's a lot of intricacies in terms of generating exact UI experience. You're trying to give it direction. Hey, lay out this, ~you know, ~card with these text fields and these labels. ~Um. ~It's good,~ uh,~ but I think it still has room to improve. ~Um, ~and so ~I, ~I wouldn't be surprised if we start seeing like just, ~you know, ~EE even higher quality across all aspects of it. ~I, I, ~I think it's a good assumption,~ uh,~ to have. Paul: ~I mean, as the models AKA, our platform continues to change, like the, the way that we approach prompt them and get results changed naturally. So, um, I'm sure quality will be changing, uh, all over the place. And the actual underlying business logic, how we use these things will also need to change. Um, is that one thing that the team has.~ ~Struggled with or has, um, put a lot of science behind in terms of changing models, changing provider platforms, uh, the ways that these types of structures and inputs and outputs work and don't work through the, through the seasons that we've had in 2025.~ Eytan: ~Uh, I mean, maybe just fine tune the question a little bit, Paul. Like, is it like, yeah.~ Paul: ~Um, I, I guess is. ~Has the team developed,~ um, do you think a, ~a rich understanding of or framework that you guys have found, like your sweet spot with here's how we treat MCP servers and you feel pretty resilient to the changing platform of these AI providers? Because, ~you know, ~having worked on AI tools myself, that's been one thing that's ~kind of ~been a curve ball every quarter. It's ~like, ~okay, generate object and the way that we do structured outputs works this way. Then next month it works another way. And then you should,~ uh,~ feed it this way and then feed it that way. And then slowly start to develop your own science behind,~ um, you know, ~the best [00:29:00] way to tickle these things. Eytan: Yeah, it's a good question. ~I, I mean, ~I think there's two things that we have gotten good at. So one is, first and foremost evaluations, right? So we know how to do evals. We know how to ~like ~say, okay, this is like a true set that like we can come back to, to say, how is this doing? ~Um, ~and we do that across the platform, right? So whether it's generating GraphQL or. Functions or liquid or UI component blocks. ~We, ~we have evaluations that we can go through. So we can compare very easily. And then also we have the flexibility on our end to try out different models. That's something that we have baked in,~ uh, that, that, ~that we can go and try. So I think those two things have been like kind of ~key, ~key learnings we've had. Paul: That's really neat. Yeah. ~I mean, ~a lot of people struggle with evals or they exist and then they're very. Useless pretty quickly. ~Um, ~so ~it's, ~it's neat that you guys have been developing a muscle there. ~Uh, ~especially if people are gonna start to build, like shops around, like an experience that they're used to using that,~ um,~ you want that guarantee. Eytan: ~yeah, ~yeah. So we've got our own internal,~ uh,~ data on how they're doing. And then we also [00:30:00] have,~ um,~ on the dev assistance side, which is on Shopify Dev, we have data that we collect from developers themselves, like ~kind of ~thumbs up, thumbs down, telling us how well,~ uh, you know, our, our, our, our, our, ~our tooling is answering their questions. Paul: All right,~ well,~ people are gonna listen to this and probably want to go try something,~ um,~ and hop right in because ~that, ~that's been the theme through our conversation. Just take the MCP server, drop it in, try it, talk to it. ~Right. Um. ~There's been some alluding to of data, like we did the metadata merchant example, which I thought was really great. 'cause ~it's, it's, ~it's an example of how you can learn from the MCP server. So off that similar vein of thought, when people go do that, when they try to go build their own shot, their own experience, is there anything more globally? People should rethink in terms of the way they store data, the way they,~ the,~ the way they interact with the Shopify platform. Do you think there's a general theme of, Hey, let us do it with the primitives sort of vibe,~ um,~ that people need to be open to. Eytan: Yeah. ~Uh, it, ~it's a good question. ~I, ~I think the. The primary thing is, and the MCP server should do a good job at it, Mo the vast of the time is leveraging the [00:31:00] core platform capabilities that we have almost across the board. ~Right. ~So ~like, ~let's just ~kind of ~walk through it from when you're developing. ~Uh, ~we have a~ a ui, ~toolkit ~called, ~called Polaris. That. ~Um, ~it works across all of our surfaces. ~Your main app, ~your main app home~ for your, for, uh,~ for your app called admin app home. ~Uh, ~check out UI extensions, POS, admin extensions. All these surfaces use the same components set across the board and work really well, and I think folks should default to it. ~Uh, ~another example. Of like leveraging kind of core capabil abilities is an app, is a library called Abridge, which is how your app ~kind of ~interacts ~with, ~with Shopify. ~Um, ~in terms of like your, I frame of your app interacting with Shopify. So app abridge as a kind of key primitive,~ uh,~ so Polaris Abridge,~ um, the, ~the storage ~we, ~we,~ uh,~ which you spoke about, which is like leveraging meta fields and meta objects ~to store customer,~ to store merchant data as a default is, I think, gonna be the right thing most of the time. ~Uh. ~Those are some of ~like ~the key perimeters and capabilities. So you've got like your UI layer, you've got your data layer,~ um, uh, ~are the two big ones. ~And, ~and extensions can be a form of compute in a sense of ~like, ~Hey, I'm deploying an extension that might live on checkout or [00:32:00] POS, it's running in that context and it can do a lot of ~its own, ~its own,~ uh,~ runtime stuff. ~So, um, I ~I, I think leveraging those primitives is, should be the default starting place for most developers. Paul: That. That's awesome. Good. And it's also three. There's three primitives and so it's easy to remember. ~We got, ~we got the runtime functions. ~The, ~the UI Polaris, and then the data layer. Remind me, Eytan: ~Uh,~ data leads. Meta fields. Meta objects. Paul: meta fields, metal objects. Okay. And that's a good entry point I think for people to go,~ like,~ before I hop in here, let's, I just need to get a, lay the land, see the peaks,~ um,~ before I gets scared by an overload of MCP information, potentially,~ uh,~ who knows? Eytan: yep. Yeah, a hundred percent. Paul: ~Uh, ~so ~where, ~where's, uh, Shopify putting out more information about this stuff,~ uh,~ as people are building, looking for help? ~Do, ~do you guys blog? Is there a section of the blog? Is there YouTubes? ~Uh, where, ~where's the dev Re. Eytan: ~Yeah, it's great. A great question. So, uh, ~shopify.dev is our ww Shopify Dev is the main resource for documentation. All this is documented there. We touched on like how we've been improving ~the, the, ~the documentation references ~that ~that's all there. ~Um, ~community, Shopify Dev is a great place [00:33:00] to go when you are a little bit stuck and you've got technical questions. ~Um, ~a lot of shop of folk hang out there, answer questions, respond to it, it actually gets piped automatically into our slack. So we see it coming through. ~Uh, ~we respond there. ~Uh, ~and then also on Twitter,~ uh,~ we're on Twitter all the time sharing our updates there. ~Um. Uh, ~and also respond to developers there. And then lastly, actually I should call out is our change log. So we've got a change log on shopify.dev. ~Um, ~a lot of folks consume that. ~Uh, ~find ways to ~kind of ~scrape that and consume it. ~Um, uh, ~and it's a go. Great way to find out about updates. Paul: Awesome. And we learned a new word today, which is,~ uh,~ shop of Folk. Eytan: Shopify Paul: putting that in or Yeah, we're putting that in the dictionary. Eytan: ~Yeah, ~yeah. Yeah. Paul: ~Uh, ~and Aiden, do you ever, uh.~ uh. ~Tweet or output any,~ uh,~ messages yourself,~ uh,~ for the public eye. Eytan: I do. Yeah. ~Um, I, ~I, my Twitter is mostly Shopify related stuff and Shopify dev platform related stuff. ~Um, ~so I tweet about ~like, um, you know, new, ~new things we're doing. But I also do respond to things, especially things where it's like, hey, there may be an issue or something that, that folks are running into. ~Uh, we, ~we try and ~like ~stay really close to our developer community just to [00:34:00] know ~what's, ~what's going on ~and, ~and how folks are. Using things, racking, the things,~ um,~ issues they've got and all that. Paul: Awesome. ~Um, well, ~if anybody wants more information, we can drop those links in the show notes. ~Um, ~but until next time, Aiden, it's been great. ~Um, ~I'm sure people are gonna be excited re uh, listen to this and,~ uh,~ wanting to create apps. So get out there and get creative and until next time, yeah, it was just great to have you. Eytan: Awesome. Thanks Paul. Really appreciate it.