← All work
Case study · §04 LLM platform · 2025–

An LLM agent platform that lives inside Shopify.

PromptMySite is an LLM agent platform built to learn the stack from the inside. Orchestration, tool calling, streaming inference, multi-turn state, a real RAG pipeline. Live on Shopify with Stripe billing. Every pattern that turns up in client AI work was sharpened here first.

  • 0External frameworks (no LangChain, no LlamaIndex)
  • StreamingTool calls + responses, both token-by-token
  • StripeRecurring billing through Shopify checkout
  • RAGEnd-to-end retrieval pipeline, not a black box

The brief

Every other LLM platform I tried hid the interesting parts behind a wrapper. I wanted to know what was actually happening inside the orchestration loop, what the trade-offs of tool calling look like at scale, and how the streaming protocol behaves when a long-running tool call runs over the timeout window.

PromptMySite was the answer. Build the platform myself, ship it on top of Shopify so the customer journey is real, take real payments, and use the live traffic to keep the engineering honest.

What shipped

  • Custom orchestrator. Multi-turn conversation state, tool registry, dispatch loop, and a streaming protocol that hands incremental tokens to the client while waiting on a tool result. No external framework.
  • Tool calling. A small, sharp set of tools the model can call by name. Each one is type-checked, validated, and observable in the operator log.
  • RAG pipeline. Document ingestion, chunking strategy tuned for prose, embedding generation, vector retrieval, and context-window assembly. Every step is replaceable.
  • Streaming all the way down. Tokens stream from the model to the orchestrator to the Shopify storefront to the customer's screen. Tool results stream back in the same channel.
  • Shopify integration. The product lives inside a Shopify store, so the checkout, customer portal, and recurring billing are all native. Stripe handles the cards. The customer never leaves the storefront.
  • Operator console. A small admin UI that shows every conversation, every tool call, and every token. The first defence against silent regressions.

The stack

  • Language. TypeScript end-to-end. The type system is the only thing that makes streaming protocols and tool calls bearable to maintain.
  • Runtime. A small Node service for orchestration, deployed alongside Shopify as a private app. The streaming protocol is plain SSE with structured events.
  • Storage. Postgres for conversation state and ingested documents. A pgvector column for embeddings keeps the whole pipeline inside one database.
  • Models. Provider-agnostic adapter. Today it speaks to Anthropic and OpenAI; swapping providers is a single file.
  • Commerce. Shopify for the storefront and the checkout. Stripe for the recurring billing rail. The customer sees one branded flow.

Why it matters

PromptMySite is the engine room for every other AI project on this site. The orchestration loop, the streaming protocol, the RAG pipeline, the operator console, all of it was first written here under real traffic. By the time those patterns reach a client engagement they've been tested by paying customers for months.

It is also the proof that you can ship a real AI product on a stack you fully understand, without renting your runtime to LangChain or your retrieval layer to a closed vendor. The platform is yours, the model is interchangeable, and the bill is a Stripe bill, not an API console you have to renew.

Want an AI product built end-to-end?

Start a project