When hosting a prototype is harder than building it
Shopify has never had a shortage of people building things. Prototypes, dashboards, internal tools—the bottleneck was always getting those artifacts in front of other people. The company's answer is Quick, an internal platform where a folder of HTML and assets becomes a secure, Shopify-internal URL.
Since launching in July 2025, Quick has grown to host more than 50,000 sites. Over half the company has created at least one. The platform's rise coincided with AI tools making it possible for non-engineers to generate working websites from a prompt—but Quick wasn't built for AI. It was built for a simpler problem.
From folder to URL
Quick's architecture starts with the simplest possible model: every site is a folder of assets in a Google Cloud Storage bucket. A lightweight NGINX server sits in front with a wildcard config, mapping mysite.quick.shopify.io to the corresponding folder. Rather than having NGINX query the bucket directly, gcsfuse mounts it as a local filesystem, so NGINX serves files the same way it would from disk.
Authentication is handled upstream. The whole server sits behind Identity-Aware Proxy (IAP), meaning every request is verified as a Shopify employee before it reaches a site. The quick deploy command is a thin wrapper around gcloud's rsync: push local files to the bucket, and the site is live.
Adding backend services without the ops burden
A static site covers a lot of ground, but many prototypes need a little more. Storing data, uploading files, or calling an LLM typically means spinning up infrastructure that feels disproportionate to the task. Quick's answer was a single shared server providing basic backend services to every site, exposed through a client-side API.
The original Firebase was the inspiration: a key-value store you can read and write to over the internet, no schemas or migrations, with changes synced across connected clients. Quick initially experimented with per-site SQLite databases, but that didn't play well with gcsfuse. A single CloudSQL database with a Node.js server in front proved simpler.
AI, files, and realtime data
AI support came next, so sites can make client-side calls to the LLM of their choice without managing API keys. Keys live on the server and are forwarded to Shopify's internal AI proxy. File uploads, Big Query data warehouse support, and WebSocket support for collaborative apps followed.
Because requests pass through IAP, Quick already knows who's using a site. That identity information—name, title, team, Slack handle—is exposed to clients through an Identity API, so sites can instantly personalize the experience.
The platform settled on six core building blocks:
- Database
- File uploads
- AI (LLM, image generation, etc.)
- Data warehouse
- Websockets
- Identity
This zero-config client-side API only works because Quick lives behind Shopify's trusted walls. None of these services are exposed to the public internet, and all keys stay on the server—an approach that would keep any ops team awake at night if applied to the open web.
AI agents as the primary interface
Quick ships with the skills an AI agent needs to use its APIs, so most people never read the docs. Typing quick init and launching an agent handles the rest. Prompts like "Make me a site where my team can vote on lunch spots in real time" produce a working, shareable site in under a minute—including multiplayer cursors, thanks to the WebSocket API.
From Geocities nostalgia to company culture
Adoption followed a predictable arc. Early users were already generating HTML with AI and had finally found a secure place to host it. Others struggled with deployment complexity and welcomed the easy path. For a while, the platform felt like Geocities: personal homepages, a nostalgic webring, a birthday site with a guestbook. Guestbooks and comment fields on the open web invite spam and attacks, but inside the Shopify trust bubble, they're harmless fun.
Things accelerated in December 2025. The platform now serves prototypes, dashboards, dev tools, and presentations. Designers build custom tools for their teams. Sharing an idea for admin theme display means sharing a Quick site, not an image. When Google Meet had an outage last year, someone vibecoded a WebRTC replacement within 15 minutes.
The culture shift extends to games. With WebSockets making multiplayer almost trivial, a recent game jam attracted over 140 submissions. Adding a leaderboard to a public game raises hack-prevention concerns; on Quick, it's a straightforward yes. The internal-only constraint creates what one engineer calls a creative paradise.
An ecosystem built on simplicity
One unanticipated development: sites embedding other sites. Because Quick is just the web, one site can import code directly from another. People began publishing shared JavaScript libraries—complete with landing pages—for features like Figma-style comments, voice, analytics, and achievements.
The platform's philosophy is restraint. There are no permissions and no concept of a site owner. All Quick sites are open to all employees. Updating a site means overwriting its files, and taking over a subdomain means overwriting the existing site. Feature requests like custom backends and cron jobs are routinely declined. The fixed, minimal set of capabilities is what keeps Quick simple to maintain and what pushes people toward creative solutions with the existing pieces.
A $200-a-month VM
All 50,000-plus sites run on a single VM costing about $200 a month. Because most of the work is client-side, the server only serves assets and processes API requests. Scale is bounded by the employee headcount, so there's no risk of sudden massive growth. Rate limiting was added after someone ran a batch job on a loop and stored excessive data. The server has also migrated from Node to Go for better memory management and parallelism.
The learning workshop
The original problem—sharing at Shopify was harder than building—was solved with almost comically simple means: a folder, a URL, and the trust that comes from an internal tool. Because every site is visible to every teammate, each one teaches the next person what's possible. Tobias Lütke calls this environment a Lehrwerkstatt: a learning workshop where knowledge spreads through proximity. Quick just gave it a domain name.



