CAPABILITY · Client under NDA

E-commerce AI Customer Support

AI customer-service platform for Shopify and WooCommerce stores, with WhatsApp handoff to the merchant.

E-commerce AIShopify AppsWooCommerce PluginsCustomer Support SaaSConversational AIWhatsApp BusinessMarTechMerchant Tools
See it work

From store chat to your WhatsApp when it matters.

An embeddable assistant resolves the easy stuff from PDFs, DOCX, and product URLs the merchant already has. When a thread needs a human — a damage claim, a wholesale quote, a refund decision — the owner gets pinged on WhatsApp and answers from their phone. No second dashboard. No inbox to babysit.

northwind-store.example
viewing as · Customer
Customer · Storefront chat
🛒 northwind
Shop
Cart
Orders
Support

Northwind Store · Kitchen essentials

free 2-day delivery · 30-day returns · 100% wood-sourced

cart (0)
bestsellerin stock

Cedar Wood Chopping Board

$48.00·4.8 (217 reviews)

Hand-finished cedar with food-safe oil. Knife-friendly grain, 16 × 11 in., 1.2 in. thick.

Oak Salad Tongs
$22
Walnut Cheese Board
$64
Maple Spice Rack
$38
Northwind assistant
online
Hi! I'm Northwind's assistant. Ask me anything about our products or shipping!
Shipping?Returns?Care tips?
Type your question…
Demo only

This is an animated mockup of the e-commerce AI support capability — not a live product. Store name, product, and conversation snippets are illustrative.

01

Embeddable widget for Shopify / WooCommerce

One script tag drops the assistant onto any storefront. Theme matches the store, and the widget auto-detects product context, cart state, and visitor language.

02

Document-trained agent (PDFs, DOCX, URLs)

Knowledge is ingested from the merchant's own policies, FAQs, and product URLs. The agent answers from the actual catalog instead of guessing or making things up.

03

WhatsApp-native handoff

When the AI can't resolve a thread, the owner gets pinged on WhatsApp and replies from their phone. No second dashboard to learn, no inbox to babysit.

04

Lead capture + CRM forward

Wholesale questions, B2B quotes, and high-intent visitors are tagged as leads and forwarded to the merchant's CRM with full conversation context attached.

05

Conversation tagging (support / sales)

Each thread is auto-tagged as support, lead, or escalation. Merchants see resolution rates, response times, and lead conversion across every channel in one view.

06

Two ORMs by design (Payload CMS + Drizzle)

Payload CMS handles marketing content for zero-latency reads inside Next.js. Drizzle handles billing tables with explicit schema control. Right tool for each surface.

What we built

AI customer-service platform for Shopify and WooCommerce stores, with WhatsApp handoff to the merchant.

How we built it

Embeddable widget + merchant dashboard + content site, all on Next.js 15 with Payload CMS embedded for marketing content and Drizzle for billing tables.

Two ORMs on purpose: Payload CMS for marketing content (zero-latency reads inside Next.js) and Drizzle for billing tables (explicit schema control). When the AI can't resolve a thread, the owner gets pinged on WhatsApp and answers from their phone — no second dashboard. Knowledge is ingested from PDFs, DOCX, and URLs so the agent learns the merchant's actual catalog and policies.

Architecture

How a request flows through it

Each request enters at the top of the diagram, flows through every box, and lands at the bottom — exactly the way the production system behaves. The scan-line traces where a live request would be right now.

tracing request flow
Shopper opens chat widget on store
Next.js 15 API
(Vercel Fluid Compute)
Agent grounded in
merchant knowledge base
(PDFs / DOCX / URLs)
Resolved Unresolved
(reply in widget)
Owner ping on WhatsApp
Owner replies from phone
flow direction┌─┐ component
Stack

What it's built with

Frontend
Next.js 15React 19TypeScript 5.9Tailwind CSS v4shadcn/ui
Backend
PostgreSQL on NeonPayload CMS 3Drizzle ORMNextAuth.js v5
Infrastructure
Vercel Fluid ComputeVercel BlobUpstash RedisInngestAWS SES v2
Integrations
ShopifyWooCommerceWhatsAppSafepayPaddle
Processing
pdf-parsepdf2jsonmammoth
Engineering notes

The interesting parts

WhatsApp-native handoff

When the agent can't resolve a thread the owner is pinged on WhatsApp and replies from their phone — no second dashboard.

Two ORMs on purpose

Payload CMS for marketing content (zero-latency reads inside Next.js), Drizzle for billing tables (explicit schema control).

Document-trained agent

Knowledge ingested from PDFs, DOCX, and URLs so the AI learns the merchant's actual catalog and policies.

Dual-rail billing

Safepay handles PKR subscriptions where Stripe is unavailable; Paddle acts as Merchant of Record for international.

Decisions

The calls that did most of the work

A handful of engineering choices shape how a system feels. Here are the ones we'd still defend — alongside what each one cost.

01

WhatsApp handoff instead of a second merchant dashboard

Merchants already live in WhatsApp; a new dashboard would go unused exactly when it matters — at night, on the road, mid-shift.

Tradeoff: WhatsApp's API rate limits, template-message rules, and approval flow become part of the product surface.

02

Two ORMs on purpose — one for content, one for billing

Marketing content needs editor-friendly authoring; billing tables need explicit schema control. Forcing both into one ORM degrades one or the other.

Tradeoff: Two ORMs to learn, two migration paths, two sets of generated types in the same project.

03

Dual-rail billing — domestic and international processors

Stripe isn't available in every market; pairing a domestic processor with a Merchant-of-Record handles tax and VAT complexity without building tax infrastructure.

Tradeoff: Two payment integrations and two reconciliation flows, and revenue reporting has to combine both rails.

Want something like this?

Tell us what you're building.

Free 30-minute call. Real humans, real timelines, no follow-up emails forever.

See more capabilities