Distinguished Engineer, @Shopify. On a mission to make commerce better for everyone.

Joined November 2007
783 Photos and videos
Pinned Tweet
@tobi and I sat down to talk UCP and the art of protocol design. A couple of themes worth expanding on... The hard part of good protocol design isn't the spec. It's the deep understanding of the problem you're solving and the humility to approach it at the right level. Commerce is infinitely complex and always evolving; it's hubris to pretend anyone can 'spec commerce'. But wait — isn't UCP trying to do exactly that? No, UCP doesn't 'spec commerce'. It models the rules of the bazaar that make commerce possible. The job of UCP is to build the boring parts: the small core of common and composable primitives, and the discovery and negotiation mechanisms that everything else runs on. Done right, this lets commerce thrive in the open, with merchants, agents, and buyers deciding what is advertised, supported, and adopted, not by fiat from a protocol committee. This is UCP. 👇🏻🧵
6
7
59
17,329
Geocitites, but 100x better. It's amazing what you unlock when you remove friction, expose great tools, and operate in high trust mode. This is the magic of early internet, recaptured and unleashed within Shopify.
Everyone's talking about AI-generated HTML. But have you tried giving your sites a zero-config API for saving data, file storage, AI, websockets, etc? We did this at Shopify. Runs on a single VM that costs $200/month, and it's changed the way we work. We call it Quick 👇🧵
26
10,833
Impressive set of features in 2.0 rewrite/release! Performance is an evergreen pursuit and need.
mod_pagespeed never died. It just got faster. It's back. 🚀 modpagespeed.com/ #WebPerf #CoreWebVitals #PageSpeed
2
8
6,781
AI made protecting maker time 10x more important. Maker time was always about protecting wetware context. What changed is the magnitude: we can now take on problems with *much* larger scope, complexity, and moving parts. The context window has to carry more problem state, more connections, and more nuance than ever before. A "quick sync" doesn’t just take 15 minutes; it evicts the cache... and our wetware has no instant snapshot restore; unlike silicon, we refill context at glacial speed. Protect your 🧠 wetware cache / context window!
2
2
28
2,979
@tobi and I sat down to talk UCP and the art of protocol design. A couple of themes worth expanding on... The hard part of good protocol design isn't the spec. It's the deep understanding of the problem you're solving and the humility to approach it at the right level. Commerce is infinitely complex and always evolving; it's hubris to pretend anyone can 'spec commerce'. But wait — isn't UCP trying to do exactly that? No, UCP doesn't 'spec commerce'. It models the rules of the bazaar that make commerce possible. The job of UCP is to build the boring parts: the small core of common and composable primitives, and the discovery and negotiation mechanisms that everything else runs on. Done right, this lets commerce thrive in the open, with merchants, agents, and buyers deciding what is advertised, supported, and adopted, not by fiat from a protocol committee. This is UCP. 👇🏻🧵
6
7
59
17,329
The beauty of the bazaar, once you get past the initial chaos, is the vibrancy and energy within. A thriving bazaar is merchants and customers choosing, day after day, to engage on its open terms. Every choice evolves it. Never static, never finished. UCP is the bazaar. Come build with us: • UCP Spec: ucp.dev • Shopify Dev Docs: shopify.dev/agents • UCP CLI skill: github.com/Shopify/ucp-cli
1
3
1,438
River is a transformative AI unlock @ Shopify. A perfect name too: life sustaining artery delivering nutrients (fixes, context, PRs), shaping shared context landscape, ..., enabling efficient knowledge transport.
3
3
89
36,120
Ilya Grigorik retweeted

173
520
4,476
2,730,160
Standards are words and talk is cheap. A standard's success is measured by adoption, which is earned by solving right problems, with the right primitives, and running code. Universal Commerce Protocol has been a rocket ship. We chiseled it out of decades of shared experience running the world's largest commerce and consumer platforms, and it struck a chord, pulling contributors and adoption from across the agentic ecosystem. Case in point, the 04-08 release packed a punch. We landed support for: catalog for product discovery, cart building, post-order operations, context & intent for personalization, trust signals, and eligibility claims. Today the 🚀 trajectory accelerates. We're welcoming @amazon, @Meta, @Microsoft, @salesforce, and @stripe to the UCP Tech Council 🎉, working alongside @Google, @Shopify, @Etsy, @Target, and @Wayfair. Combined, these platforms touch billions of users, millions of merchants, and trillions of dollars in annual transactions — all rallying behind UCP as the one open protocol for the agentic era. Tech Council update: newsfilecorp.com/release/294…
9
24
145
62,119
p.s. for the curious, details on the 04-08 UCP release: x.com/igrigorik/status/20422…

UCP 2026-04-08 is out 🎉 and it's a step function upgrade for agentic commerce 🦾 TL;DR: we've landed support for product discovery, cart building, personalization and eligibility claims across the full discovery→ cart→checkout journey, plus order tracking. UCP now covers the full purchase journey. 1/ 🔍 Catalog capability — enables product discovery via search query, lookup by ID, and get-product for fine-grained variant and option resolution. 2/ 🛒 Cart capability — enables basket building with live totals, discounts, and seamless handoff to checkout. Bonus: transport binding for embedded flows alongside MCP & REST. 3/ 🗒️ Order capability — new endpoint to retrieve order status by ID, complementing the existing webhook spec for real-time updates. 4/ 🙋 Context & intent fields — agents can now signal user intent and context so merchants can tailor results, offers, and experiences across catalog, cart, and checkout. 5/ 🔐 Signals — structured input for agents to pass authorization and abuse-prevention data to merchants. Trust negotiation, built into the protocol. 6/ 🪪 Eligibility claims — agents can assert verifiable claims (loyalty tier, membership, etc.) that merchants evaluate for conditional offers and discounts. 7/ ⚙️ And a *long* tail of other improvements: structured error model, request & response signing, version negotiation, disclosure messages for legal compliance, new delegation methods for embedded transport... the list goes on. Spec: ucp.dev/2026-04-08/specifica… Changelog, for the curious: github.com/Universal-Commerc… p.s. we're in the final stretch of polishing the Shopify implementation for all of the above - coming soon to every Shopify-powered storefront near you 😎. See shopify.dev/agents.
1
2
16
4,287
Ilya Grigorik retweeted
the Shopify AI Toolkit is here manage your store with your favorite agent Claude Code, Codex, Cursor, VS Code, and more
337
735
6,680
3,965,061
Ilya Grigorik retweeted
Variety just spotlighted The Good American, my brother Alex Fazeli’s short film (still in production). An Iranian refugee in the US turned rideshare driver pulled into a high-stakes rescue. It's action that hits hard because it’s rooted in real struggles of belonging, identity, and doing what's right. This one feels urgent and timely. Proud doesn't say the half of it. variety.com/2026/film/column…
3
4
24
2,034
UCP 2026-04-08 is out 🎉 and it's a step function upgrade for agentic commerce 🦾 TL;DR: we've landed support for product discovery, cart building, personalization and eligibility claims across the full discovery→ cart→checkout journey, plus order tracking. UCP now covers the full purchase journey. 1/ 🔍 Catalog capability — enables product discovery via search query, lookup by ID, and get-product for fine-grained variant and option resolution. 2/ 🛒 Cart capability — enables basket building with live totals, discounts, and seamless handoff to checkout. Bonus: transport binding for embedded flows alongside MCP & REST. 3/ 🗒️ Order capability — new endpoint to retrieve order status by ID, complementing the existing webhook spec for real-time updates. 4/ 🙋 Context & intent fields — agents can now signal user intent and context so merchants can tailor results, offers, and experiences across catalog, cart, and checkout. 5/ 🔐 Signals — structured input for agents to pass authorization and abuse-prevention data to merchants. Trust negotiation, built into the protocol. 6/ 🪪 Eligibility claims — agents can assert verifiable claims (loyalty tier, membership, etc.) that merchants evaluate for conditional offers and discounts. 7/ ⚙️ And a *long* tail of other improvements: structured error model, request & response signing, version negotiation, disclosure messages for legal compliance, new delegation methods for embedded transport... the list goes on. Spec: ucp.dev/2026-04-08/specifica… Changelog, for the curious: github.com/Universal-Commerc… p.s. we're in the final stretch of polishing the Shopify implementation for all of the above - coming soon to every Shopify-powered storefront near you 😎. See shopify.dev/agents.
3
11
63
18,929
Ilya Grigorik retweeted
I'm completely convinced at this point that the "Command Palette" is a fundamental UI concept, and should be in all applications. It should also be a built in browser concept, there should be an API for websites to push items to the command palette ("new post", "muted words" etc)
114
120
1,815
200,754
Christmas in April. No joke. 🎇
The Shopify B2B capabilities we built for Plus merchants over the past 5 years are now available to every plan. This is HUGE! Wholesale done right, better than anyone. shopify.com/news/b2b-for-all
1
6
3,282
Ilya Grigorik retweeted
Design at Shopify is having a moment. A big moment! Incredible talent, and even stronger output. So we gave it a home: Shopify.design Come explore
78
132
1,618
290,093
Eyes on the (right) prize.
While we argue about which chatbot is better. Google quietly built an AI that won a Nobel Prize, predicted 200 million protein structures, and is about to put AI-designed cancer drugs into human trials. I wrote about why this matters more than anything else in AI right now.
2
5
5,050
Ilya Grigorik retweeted
We've done this at @Shopify for a while now. Massive unlock. Kudos to @tobi for always living in the future. Now it's time for everyone to get clever on how to save costs losslessly (i.e. gisting).
At YC, we let our engineers let it rip. There is no limit to the number of tokens you get. If you're at a place that is stingy with tokens, and you have that need for a speed, come to YC and let it rip. ycombinator.com/software
1
2
59
15,689