Amboras
Thesis
"The Shopify of the AI era" — brand brief in plain English, live Shopify storefront out in under 5 minutes. Zero design work, zero dev work. The AI generates brand identity, copy, products, testimonials, FAQ; Shopify handles real commerce (inventory, payments, checkout). Amboras is the thin AI layer over a real commerce backend.
Status
active. Live at amboras.okzaid.com. Created 2026-04-08 — very recent.
Stack
- Frontend: Next.js (browser renders landing, storefronts, dashboards client-side).
- API: Next.js API routes on Vercel serverless.
- AI: OpenRouter → GPT-4o-mini with structured tool output — forces a typed
StoreConfiginstead of free-form JSON. - Commerce: Shopify Admin REST API (2025-01) — creates real products and variants in a connected store. Cart is a permalink built from variant IDs at checkout; no cart DB.
- Streaming: SSE (Server-Sent Events) for both initial generation and the AI editor that patches an existing
StoreConfig. - Persistence: file-based (
.stores/[id].json) locally, Upstash Redis in production. SamegetStore/saveStore/deleteStoreinterface behind both;lib/store-cache.tsroutes based on env.
Key design decisions
- SSE over WebSockets: works with Vercel's streaming response model; no persistent connection needed.
- Structured tool output over free-form JSON:
tool_choiceforces a valid typedStoreConfig. No text parsing, no partial-failure modes. - Shopify as the commerce layer: Amboras doesn't reinvent inventory or checkout. The AI layer is what's novel; commerce is a solved problem.
- File storage locally, Redis in prod, same interface: zero-infrastructure dev loop, same API in both environments.
- Client-side cart state: no cart DB needed because Shopify checkout is built from variant IDs at the moment of checkout.
Data model
GeneratedStore wraps a BrandBrief (product, audience, vibe, competitors), a StoreConfig (brand / hero / products / stats / testimonials / about / faq / seo), edit history, and Shopify product mappings (variantId is load-bearing — it's what the cart permalink uses).
Learnings
- Typed tool-call output eliminates an entire category of LLM failure. If your pipeline has multiple downstream consumers of the AI output, the upfront schema work pays off every request thereafter.
- The same schema can drive both initial generation and iterative editing if you treat the editor as "AI patches StoreConfig in place" — no separate patch format.
Outcomes
- Live product at
amboras.okzaid.com. - Real orders and revenue flow through the Shopify Analytics surface.
Open questions
- What's the conversion from brief → published store → first order?
- How well does GPT-4o-mini handle edge briefs (niche B2B, regulated industries)? Is there a fallback tier?
Links
- Source summaries: github-amboras-source
- Shared patterns: sse-for-ai-streaming, ai-model-choice (structured output), compress-mechanical-labor