A design exercise in turning unstructured feedback into structured product signal
Domain
Systems Design & Workflow Automation
Core Stack
Make • DeepSeek-V3 • Airtable • Looker Studio
Problem Statement
SaaS teams receive feedback across many channels: support tickets, surveys, Slack, email. But most of it stays unstructured. Without a system to process it, teams fall back on manual tagging and gut feel, which makes it hard to spot sentiment trends or prioritize the right problems. I wanted to explore how a lightweight AI pipeline could close that gap.
What I Designed
I designed an automated pipeline that ingests raw feedback, classifies it using an LLM, and routes structured insights into a dashboard, without manual sorting. The goal was a real-time decision layer product teams could check instead of digging through scattered feedback threads.
The system:
Ingests feedback from a central data store rather than scattered inboxes.
Uses an LLM to score sentiment and categorize issues by product area.
Generates a one-line executive summary per entry, designed for fast PM scanning.
Syncs structured output to a lightweight database for dashboard visualization.
"This is a self-initiated systems-design project, not a production tool with live users. It was built to practice translating a real operational problem into an automated architecture."
How It Works (System Design)
[ Image Error: project1.JPG.jpg not found ]
I architected this as a modular, asynchronous pipeline so each stage could fail or scale independently:
Data Ingestion: Feedback is captured in Airtable, used as the central warehouse.
Logic Orchestration: A Make.com scenario triggers only on unprocessed ("Blank Status") records, by design, to avoid reprocessing and unnecessary AI calls.
AI Intelligence Layer: DeepSeek-V3 handles three tasks per entry: sentiment scoring, categorization by product domain, and abstractive one-sentence summarization.
Data Bridging: Processed insights sync to Google Sheets as an accessible secondary store.
Visualization: Looker Studio reads the clean data to render sentiment trends and heatmaps.
Key Design Decisions
Chose DeepSeek over GPT-4 for the AI layer, prioritizing token cost efficiency over marginal quality gains. This was a deliberate cost-performance tradeoff for a high-volume use case.
Used a status-filter trigger instead of polling on a timer, so the system only processes new records and avoids redundant API spend.
Separated ingestion (Airtable) from reporting (Sheets) to keep the raw data layer and the dashboard-facing layer independent, making each easier to debug or swap out.
Designed for 10,000+ monthly entries as a target scale assumption, not a measured load test. This informed schema and trigger choices.
What This Demonstrates
Translating an ambiguous operational problem ("feedback is scattered") into a concrete system architecture.
Making explicit tradeoffs between AI cost, latency, and reliability.
Designing for a PM's actual workflow (fast scanning and drill-down) rather than just exposing raw data.