
Feedback Desk AI
Built an AI customer feedback intelligence system that reliably collects feedback first, analyzes each record independently, aggregates deterministic business signals, and produces evidence-backed executive intelligence without turning unsupported assumptions into facts.
Proof
- Persistent
- Public feedback links remain usable until the business explicitly revokes or regenerates them
- Evidence-first
- AI conclusions are tied back to the individual feedback records that support them
- Deterministic
- Aggregate counts, percentages, issue severity, and executive attention status come from stored data and backend rules
The problem
Customer feedback is often fragmented across physical locations, websites, support channels, email, messaging platforms, and product touchpoints. Collecting it is only the first challenge: businesses also need to distinguish topics from actual issues, separate severity from urgency, identify genuine requests and strengths, avoid unsupported AI conclusions, and understand what deserves attention across many feedback records.
What I built
I built a multi-tenant customer feedback intelligence platform with persistent public collection links, asynchronous AI processing, configurable business categories, structured single-feedback analysis, deterministic analytics, and evidence-backed executive reporting. Each feedback record is stored before AI processing, sanitized before being sent to Gemini, analyzed independently, and persisted with structured metadata that can later be aggregated safely across reporting periods.
How it helps businesses and services
- Businesses can publish one persistent feedback link for each product or service and place it on receipts, QR codes, websites, packaging, email, or messaging channels.
- Customer submissions are stored before AI processing begins, so feedback is not lost when the model is slow, unavailable, or needs to be retried.
- Each feedback item is understood semantically before category matching, allowing useful topics and issues to be extracted even when the configured category is Uncategorized.
- Sentiment, severity, urgency, priority, topics, issues, requests, praise, and root-cause hypotheses remain separate structured concepts instead of being collapsed into a single classification.
- Root-cause hypotheses are retained only when the feedback itself contains supporting causal evidence; otherwise the system keeps the observation as an issue without inventing an explanation.
- Dashboard analytics use deterministic PostgreSQL aggregation for counts, percentages, sentiment distribution, priorities, categories, and reporting-period comparisons.
- Executive briefs combine structured feedback intelligence with deterministic metrics so business summaries remain traceable to the underlying evidence.
How it works
- 1
Publish
The business creates a persistent public feedback destination for a product or service. The opaque link can be distributed through QR codes, receipts, websites, packaging, email, or messaging channels and remains active until explicitly revoked.
- 2
Save
When feedback is submitted, the backend validates the public destination, stores the original feedback record in PostgreSQL, and queues analysis separately so the customer submission does not depend on an AI request succeeding.
- 3
Analyze
A background worker sanitizes the feedback and sends the individual record to Gemini. The classifier extracts sentiment, intents, topics, concrete issues, requested capabilities, positive attributes, severity, urgency, priority, business categories, aspects, actions, and only explicitly supported root-cause hypotheses.
- 4
Aggregate
PostgreSQL calculates period-level metrics such as total feedback, sentiment counts, priority counts, category concentrations, trend data, and evidence references. Aggregate numbers are calculated deterministically rather than generated by the language model.
- 5
Brief
The executive intelligence layer combines deterministic metrics with validated structured feedback. It surfaces reported issues, key findings, strengths, recommended actions, and supported root causes while keeping important conclusions linked to evidence.
The hard part
Keeping AI useful without allowing it to become the source of truth
The main engineering challenge was separating semantic reasoning from factual aggregation. AI is useful for understanding customer language, but counts, percentages, severity relationships, reporting-period metrics, and executive attention status need predictable behavior. The system therefore stores feedback first, analyzes one record at a time, validates structured AI output, calculates aggregate metrics in PostgreSQL, requires evidence for important claims, and omits unsupported root causes instead of allowing plausible explanations to become business facts.
Stack
Backend
API
Data
Classification
Delivery
Frontend
App
State
Interface
What I owned
- Multi-tenant organization, product, and feedback architecture
- Persistent public feedback destinations that do not expose internal organization or product identifiers
- Feedback-first ingestion with asynchronous and retryable AI processing
- Industry-agnostic single-feedback semantic analysis
- Configurable category matching performed after semantic understanding
- Structured sentiment, intent, topic, issue, severity, urgency, priority, praise, and request extraction
- Evidence validation for root-cause hypotheses
- PII minimization before external AI processing
- Deterministic PostgreSQL feedback aggregation
- Evidence-backed Executive Brief generation
- Period-based analytics for 7, 30, and 90 day views
- Responsive feedback intelligence dashboard