Flowstate AI
A production, multi-tenant Customer Success Intelligence platform I built and shipped for a high-value agency client. It unifies Asana and Klaviyo into one command centre and answers natural-language questions over live operational data. Around 10,000 customer interactions a month.
Marketing agencies run client work across Asana (projects and tasks) and Klaviyo (email and SMS), with no unified view of client health. Churn arrives as a surprise. The job was to turn scattered operational data into one place a team can ask questions of, and into an early warning system for accounts going quiet.
Multi-tenant isolation is enforced at the database with Supabase row-level security and four roles (super-admin, org-admin, CSM, viewer), not just in application code. Each AI agent has a dedicated knowledge base; a provider router gives every call automatic failover across OpenAI, Anthropic and OpenRouter. Integrations sync one-way and read-only by design, and a versioned API (with dual session-or-cron auth) sits in front. Heavy syncs run in a dedicated worker.
The first version of the Asana intelligence agent was only about 65% correct on real business questions, which is useless when a team is making calls off the answers. So I built a ground-truth evaluation harness: a set of real questions with SQL-verified expected answers, run on every change.
Then I iterated the system prompt and the tools against it until the agent passed 17 of 17, a 100% pass rate on the ground-truth set. That harness is the thing that turned a demo into something a paying client could rely on, and it is the discipline I would bring to correctness, cost and safety evaluation on any agent in production.
A production platform a paying client relies on, handling around 10,000 customer interactions a month, with per-org isolation, dual AI agents, and a unified client-health view that turns a churn surprise into an early signal. Roughly 33,000 lines, 591 commits, shipped end to end.