Back to Work
Shopify App2026
Scribe
RemixClaudeShopify AppStreamingPolaris
An embedded Shopify app that gives merchants an AI content engine for product descriptions, SEO optimization, and customer communication — all within the Shopify admin.
The Challenge
Merchants spend hours writing product descriptions, optimizing SEO metadata, and crafting customer emails. Existing AI writing tools require context-switching out of Shopify and don't understand the merchant's catalog, brand voice, or customer base.
The Solution
Built a Remix-based embedded Shopify app that deeply integrates with the admin. Scribe reads product data, collection context, and store analytics to generate contextually aware content with streaming responses powered by Claude.
Design
Code
Result
app/routes/api.generate.tsxtypescript
1export async function action({ request }: ActionFunctionArgs) {2 const { admin, session } = await authenticate.admin(request)3 const { productId, prompt, type } = await request.json()45 // Fetch product context from Shopify6 const { product } = await admin.graphql(`7 query GetProduct($id: ID!) {8 product(id: $id) {9 title10 vendor11 productType12 tags13 variants(first: 10) {14 nodes { title price }15 }16 }17 }18 `, { variables: { id: productId } })1920 const stream = await anthropic.messages.stream({21 model: 'claude-sonnet-4-20250514',22 max_tokens: 1024,23 system: buildMerchantContext(session.shop, product),24 messages: [{ role: 'user', content: prompt }],25 })2627 return new Response(stream.toReadableStream(), {28 headers: {29 'Content-Type': 'text/event-stream',30 'Cache-Control': 'no-cache',31 },32 })33}34
Scroll to explore
Tech Stack
RemixShopify App BridgePolarisClaude APIPrismaPostgreSQLRedisStreaming SSE
Interested in similar work?
Let's discuss how I can help bring your Shopify project to life.