Voice of Customer: AI Customer-Intelligence Platform
I turned a one-off request for a customer-feedback SWOT into an enterprise-grade platform that reads 50K+ posts across PayTR and 9 competitors and delivers board-level briefings, automated, end to end, every day.
The problem
Leadership kept asking variations of the same question, "What are merchants actually saying about us, and how do we compare to iyzico, Paycell, PayU, and the rest?", and the honest answer was that nobody knew at scale. Feedback lived in scattered places: complaint sites (Şikayetvar), forums (Ekşisözlük), app-store reviews, marketplace comments, and social media.
Someone would manually read a sample, summarize it in a deck, and the snapshot was stale the day it shipped. No trend line, no competitor comparison, no early warning when sentiment moved. It started as a single ask: "Can you put together a SWOT of customer feedback?" I realized a slide deck would answer it once; a system would answer it forever.
The approach
I designed a pipeline that treats public conversation as a daily data feed, not a research project: Listen → Clean → Classify → Synthesize → Brief.
- Listen. Ingest mentions across forums, complaint sites, app stores, marketplaces, and social, for PayTR and 9 competitors, so every metric has a share-of-voice context.
- Clean. Strip HTML/BBCode, normalize Turkish UTF-8 (the special characters break naïve pipelines), and SHA-256 deduplicate so the same post never double-counts.
- Classify. Run each mention through Google Gemini for sentiment and one of 14 business themes, with a strict JSON schema and retry/back-off.
- Synthesize. A 4-agent CrewAI pipeline (collect → analyze → extract insight → report) adds viral-score and anomaly detection on top of the classified data.
- Brief. Daily, weekly, and monthly executive summaries in clear Turkish prose, surfaced in a 5-page Power BI dashboard leadership actually opens.
What I built
- A 3-tier PostgreSQL star-schema warehouse (raw → processed → analytics) with materialized views, tuned indexes, and idempotent ETL, so a re-run never corrupts the numbers.
- A 5-page Power BI semantic model with 44 custom DAX measures, a time-intelligence calculation group (YTD/MTD/YoY/WoW), conditional KPI cards, and drillthrough down to the text of a single post.
- A hybrid AI stack chosen on cost-vs-quality: Gemini Flash for high-volume per-mention classification (cheap), Claude Sonnet for the low-volume weekly digest where Turkish prose quality matters. A litellm layer keeps providers swappable.
- Turkish-language NLP beyond the LLM: negation-aware sentiment, YAML-driven theme taxonomy, K-means/HDBSCAN/BERTopic clustering, TF-IDF/PMI n-grams, and change-point/z-score temporal anomaly detection.
- A daily refresh pipeline (APScheduler + n8n) at 08:00 Istanbul, with a FastAPI control panel for one-click backfills and summary regeneration, streaming live progress to the browser.
- A post-to-brand bridge table powering competitor share-of-voice and head-to-head sentiment.
Then I took it further: I began productizing it into a multi-tenant Voice of Customer SaaS for brands beyond PayTR, schema-per-tenant isolation, JWT-secured FastAPI, a Next.js 16 app, 9 ingestion adapters, and KVKK (Turkish GDPR) takedown compliance baked in.
Impact
- Board-level adoption. The question that used to take a manual research cycle now answers itself every morning.
- True share-of-voice. Sentiment and theme trends are finally comparable against the named competitor set, not measured in isolation.
- Production-grade & tested. 55 tests on the core system; the multi-tenant productization adds isolation and ingestion suites. Idempotent design makes every run safe to repeat.
Tech
What it demonstrates
Marketing intelligence that I can actually build, knowing what a business needs to hear about its customers and the data engineering to deliver it at scale, in a hard language (Turkish), under real cost constraints, with a path from internal tool to sellable product.
Note: the platform's code is PayTR-proprietary, so the repository is private. Happy to walk through the architecture in detail or share a sanitized sample on request.