Challenge
Shopify merchants were running six marketing channels with seven tools, two agencies, and zero shared view. Every optimization decision - shift budget, change creative, pause retargeting - waited for a weekly agency call. Agency AI's premise: replace that whole stack with an AI-driven growth engine that reads every channel, recommends the next move, and executes on one tap
The engineering problem: stream campaign data in real time, keep it coherent across platforms that disagree on what a "conversion" is, and generate recommendations the merchant actually trusts
Discovery
We sat alongside two Shopify operators for a week. Every single "why did this happen?" they asked required logging into three dashboards. The insight: merchants don't need more data - they need one surface that already reconciled the data and explains its recommendation. That became the product brief
What we shipped
Unified conversion graph
- Real-time ingestion from Meta, Google, TikTok, Shopify, Klaviyo, and GA4
- Normalized event schema that resolves the "who gets credit" attribution fights
- Rate-limit aware fetchers on Sidekiq - no more "API exhausted, try tomorrow" errors
Recommendation engine
- Claude Sonnet as the reasoning model, GPT-4o for faster lightweight nudges
- Every recommendation ships with a rationale card: "Why this? Because Meta CPA on this cohort rose 47% this week while Google held flat"
- One-tap approval path - merchant taps accept, the system executes the change via the platform's API
Natural-language console
- "Why did revenue dip on Tuesday?" returns the pull-quote answer, not a chart
- Full audit log: every AI-suggested change is traceable to a human approval, for when the merchant's ops lead asks
Why this stack
Rails + PostgreSQL as the backbone because the domain is data-heavy and the graph needs transactional consistency. Next.js for the console where reactivity matters (charts, live suggestions). Sidekiq because the ingestion workload needs robust retries and rate-limit backpressure - Solid Queue wasn't mature enough at build time. Claude over pure GPT because the rationale quality was measurably better on A/B tests with 40 real merchant scenarios
Outcome
- 8 tools consolidated to 1 - merchants kept Shopify and retired the rest
- <30 seconds from AI alert to live change (previously a week of agency back-and-forth)
- 6 marketing channels unified under a single attribution view
Agency AI now operates as an ongoing retainer - we're shipping the next module (post-purchase retention flows on Klaviyo + Postscript) this quarter
"The Aimeice team treats AI as a tool, not a press release. It shows in the shipped product - every recommendation explains itself and traces to a data point"