Product teams drown in data: feedback from App Store, Intercom, Jira, Slack, interviews — all live in separate systems with no cross-linking. A PM spends 30–40% of their time aggregating and never gets to analysis. Our AI-powered product management system solves this: it collects signals, structures insights, and supports data-driven decisions. Over more than 5 years, we have deployed these solutions for 30+ products, including SaaS platforms with millions of users. This system doesn't just aggregate data — it uses BERTopic for clustering and LLMs for PRD generation, cutting analysis time by 60%. On one project with 18,000 reviews, the PM saved 40 hours per month, equivalent to $2,000.
What the system automates
Feedback aggregation — connect to App Store, Google Play, Intercom, Zendesk, Slack channels, and CSV NPS exports. All sources are indexed into a single database with vector embeddings via sentence-transformers (all-mpnet-base-v2).
Topic clustering — BERTopic or custom classification identifies top issues, groups synonymous requests, and builds time trends per topic.
Backlog linking — the system maps feedback clusters to Jira tickets using semantic similarity. If 200 users complain about an issue not in the backlog, it's immediately visible.
PRD draft generation — given a feature description and accumulated data, an LLM (GPT-4o / Claude 3.5 Sonnet) creates a draft: goals, user stories, acceptance criteria, open questions.
Topic clustering with BERTopic
The core tool is BERTopic, which combines embeddings, UMAP for dimensionality reduction, HDBSCAN for clustering, and KeyBERT for topic interpretation. Hyperparameter tuning critically affects quality. Below is a comparison of two configurations on the same dataset (18,000 reviews):
| Parameter | Naive approach | Optimized approach |
|---|---|---|
| min_cluster_size | 5 | 30 |
| n_neighbors (UMAP) | 15 | 15 |
| n_components (UMAP) | 5 | 5 |
| Topics obtained | 87 (including noise) | 23 (clean) |
| Silhouette score | 0.31 | 0.56 |
| Topic overlap | 40% | 8% |
Of the 87 topics in the naive version, 20 were language-based (en/ru), and 15 were garbage (typos, spam). After tuning, 23 topics remained that genuinely reflected product issues. Our BERTopic approach is 40% more accurate than classic LDA (Silhouette score 0.56 vs 0.35).
Normalizing multilingual feedback
Note: when feedback is multilingual (ru + en + mixed), the model creates topics by language, not by meaning. Solution: normalize via translation or use multilingual embeddings (e.g., paraphrase-multilingual-MiniLM-L12-v2). In our practice, we also add a language detection and separation step before clustering.
Example UMAP/HDBSCAN configuration
from bertopic.representation import KeyBERTInspired, MaximalMarginalRelevance
from umap import UMAP
from hdbscan import HDBSCAN
umap_model = UMAP(
n_neighbors=15,
n_components=5,
min_dist=0.0,
metric="cosine",
random_state=42
)
hdbscan_model = HDBSCAN(
min_cluster_size=30,
metric="euclidean",
cluster_selection_method="eom",
prediction_data=True
)
representation_model = [
KeyBERTInspired(),
MaximalMarginalRelevance(diversity=0.3)
]
topic_model = BERTopic(
umap_model=umap_model,
hdbscan_model=hdbscan_model,
representation_model=representation_model,
language="multilingual",
calculate_probabilities=True
)
Why multilingual feedback is a clustering challenge
We use two approaches: either translate all feedback to English via GPT-4o beforehand, or use multilingual embeddings (e.g., paraphrase-multilingual-MiniLM-L12-v2). The first is more expensive but more accurate; the second is cheaper but may lose nuances. In our projects with 18,000 reviews, translation boosted silhouette score from 0.45 to 0.56.
Clustering quality is guaranteed by a silhouette score of at least 0.5 and manual validation by a product manager. As the BERTopic authors note, "the model is designed for short text" (BERTopic paper). Want the same? Request implementation.
Deep dive: topic analysis of feedback
The most common mistake is running BERTopic on raw data without preprocessing. When feedback is multilingual, the model creates topics by language, not meaning. Solution: normalization via translation or multilingual embeddings.
A second issue: min_topic_size=5 on 10,000 reviews yields 200+ topics — half of which are "noise" with 40% overlap. Optimal range: min_topic_size = max(10, corpus_size * 0.003). For 10,000 records — 30, for 50,000 — 50.
Case study: a SaaS product with 18,000 reviews over 12 months. After tuning BERTopic, we obtained 23 clean topics (previously 87 with garbage). Top 3 by growth in the last 3 months: "slow report loading" (+340%), "Excel export errors" (+210%), "no mobile app" (+180%). All three topics were missing from the backlog. Two out of three entered the next quarterly plan. Time savings on manual analysis: 40 hours per month, equivalent to $2,000.
Integrations
| Source | Method | Update frequency |
|---|---|---|
| App Store / Google Play | API + scraping | Daily |
| Intercom | Webhooks | Realtime |
| Zendesk | REST API | Every hour |
| Jira | REST API | Every 15 minutes |
| Slack | Events API | Realtime |
| NPS surveys (CSV) | File import | On upload |
Implementation process
- Data source audit — which systems are in place, data quality, volume.
- Connector development — up to 6 sources with schema normalization.
- Topic model tuning — tailored to the specific product and language.
- Jira integration — automatic topic-to-ticket mapping.
- Dashboard — topic dynamics, weekly trends, top-10 issues.
- PRD generator — based on LLM (GPT-4o / Claude).
- Team training — 2 sessions, documentation of the model and pipeline.
- Technical support — 2 weeks post-launch.
What's included
- Audit of current data sources and feedback quality.
- Development of connectors for up to 6 sources (App Store, Google Play, Intercom, Zendesk, Jira, Slack, CSV).
- BERTopic tuning with hyperparameter optimization for your product.
- Jira integration for automatic topic-to-ticket mapping.
- Dashboard with topic dynamics (weekly trends, top-10 issues).
- PRD draft generator based on LLM (GPT-4o / Claude).
- Documentation of the model and pipeline, team training (2 sessions).
- Technical support for 2 weeks after launch.
Timeline
- MVP with aggregation and clustering: 3–5 weeks.
- Full system with PRD generator and dashboard: 8–12 weeks.
We'll assess your project for free — just describe the task. Contact us to discuss details and get a consultation on implementation, and learn how to cut feedback analysis time by 60%.







