AI operations · my product · 2026 — now
Thynk
A production AI operations manager for Shopify. It answers questions against live store data, calls tools to complete work, and schedules recurring workflows from the admin, Slack, or Telegram.
Visit Thynk- Runtime
- Vercel AI SDK
- State
- Durable Object per conversation
- Surfaces
- Web, Slack, Telegram
The idea
Most store operators don't need another dashboard. They need to ask a question in the language they already use — "which SKUs sold out this week?" — get an answer from live data, and have the follow-up action happen without opening four tabs.
Thynk is an AI operations manager rather than a chat wrapper: one agent can reason across Shopify and connected apps, use tools to act, and run the same capability from the admin, Slack, or Telegram.
The agent layer
The agent is built on the Vercel AI SDK. A single `createAgent()` configuration is passed to `generateText` or `streamText`, with provider adapters for Anthropic, OpenAI, Google, OpenAI-compatible models, and Workers AI.
Tools are defined with typed schemas and loaded from Shopify, Thynk-native capabilities, Composio, and remote MCP connectors. Dynamic tool disclosure keeps the first prompt small while semantic and keyword retrieval exposes the long tail when a request needs it.
The agent answers questions against live store data, executes Shopify Admin API work, drafts or sends operational messages, and schedules recurring or event-triggered automations.
Production runtime
Each conversation runs in a Cloudflare Durable Object. The turn engine treats every model call and tool call as a checkpointed step, so an isolate restart or dropped browser connection resumes from persisted state instead of repeating a mutation or losing the transcript.
Web chat streams through an SSE endpoint and reconnects by replaying checkpoints; Slack and Telegram turns enter through verified webhooks and queues. Cron Triggers dispatch due tasks, while Queues isolate surface turns, automation runs, and background work from the web request.
A per-merchant D1 database, Drizzle models, R2 attachments, KV configuration, and semantic memory complete the runtime. Context is recalled per store and written without blocking the turn.
Reliability and ownership
I built model routing, prompt budgeting, history compaction, usage tracking, circuit breaking, mid-turn failover, tool-call repair, and an audit trail around the SDK rather than assuming a model call is reliable by itself.
Tests and agent evaluation scenarios cover tool selection, refusal boundaries, context fitting, memory recall, provider failure, and resumable execution. I own the product architecture, admin UI, connector integrations, deployment, observability, and production debugging.
Built with
Want to talk about work like this?