Inspiration
Every popular product ends up with thousands of reviews that nobody can read in full, so most of us fall back on the star rating. But 3.5 stars can mean "mostly fine" or "half love it, half hate one broken feature". The real reason is buried in free text. LLMs can summarise reviews fluently, but they can also state things the reviews never said. I wanted a summary you can actually trust, one where every claim traces back to counted evidence.
Challenges I ran into
- Keeping the LLM honest. Asking a model to summarise raw reviews directly was costly and prone to unsupported claims. I had to separate measuring (NLP) from wording (LLM).
- Aspects without a fixed list. Frequent-noun discovery can miss rare aspects, and two words for one feature aren't always merged.
- Weaker offline fallbacks. VADER and TF-IDF struggle with sarcasm and negation, so I had to make the pipeline work well with or without heavy models.
- Free-tier hosting. Cold starts are slow and data isn't persistent, so I had to handle that gracefully.
What it does
Product Review Intelligence turns a CSV of reviews into a short, readable summary backed by evidence.
- Cleans the data and removes empty, noise-only, duplicate and near-duplicate reviews
- Classifies the sentiment of every review from its text, not its star rating
- Discovers product aspects automatically (battery, sound, microphone, etc.) and scores each one separately
- Groups opinions into recurring strengths, recurring issues and contested aspects, with counts and example phrases
- Has an LLM write the summary, then validates every statement against the measured numbers and shows an "Evidence-backed" or "Needs Review" verdict
- Shows everything in a React dashboard
On a sample headphone, it surfaced sound and comfort as strengths and the microphone as the main issue (7 of 10 mentions negative).
How we built it
Product Review Intelligence turns a CSV of reviews into a short, readable summary backed by evidence.
- Cleans the data and removes empty, noise-only, duplicate and near-duplicate reviews
- Classifies the sentiment of every review from its text, not its star rating
- Discovers product aspects automatically (battery, sound, microphone, etc.) and scores each one separately
- Groups opinions into recurring strengths, recurring issues and contested aspects, with counts and example phrases
- Has an LLM write the summary, then validates every statement against the measured numbers and shows an "Evidence-backed" or "Needs Review" verdict
- Shows everything in a React dashboard
On a sample headphone, it surfaced sound and comfort as strengths and the microphone as the main issue (7 of 10 mentions negative).
Challenges we ran into
The tool is a hybrid of classical NLP and an LLM:
- FastAPI back end ingests and validates the CSV and cleans the text.
- Sentiment and aspects: transformer sentiment with a VADER fallback, plus spaCy for aspect discovery. Sentence embeddings and clustering group similar opinions.
- Compact payload: only about 2–4 KB of structured findings goes to the LLM. This keeps it cheap and fast, and it leaves the model little room to invent things.
- Configurable LLM provider (Groq in deployment), with a built-in mock mode that works with no API key.
- Rule-based validator that checks each summary statement against the computed statistics.
- Storage and UI: SQLAlchemy for storage, a React dashboard on the front end, and deployment on Render.
Accomplishments that we're proud of
- A validator that makes the LLM's output auditable. It accepted the sample summaries but flagged two weakly supported statements (screen and speed) instead of letting them through.
- Solid testing: 142 back-end, 30 front-end, 10 end-to-end and 16 robustness tests.
- A live, publicly deployed app that works even with no API key.
- Being upfront about the limits: results are from a synthetic sample, not real-world accuracy.
What we learned
Let classical NLP do the measurable work, and give the LLM only the findings to put into words.
- Validation matters as much as generation. A summary is only useful if you can see why it's trustworthy.
- Designing for graceful fallbacks (mock mode, lightweight models) makes a tool far easier to deploy and demo.
What's next for Product Review Intelligence
- Evaluate on real, public labelled review datasets and report precision and recall
- Use transformer and Sentence-BERT backends on a larger server
- Multilingual support
- Sentiment trends over time, and side-by-side product comparison
- User accounts with a persistent database
- Detection of suspicious or fake review patterns
- PDF export of the dashboard report
Built With
- docker
- fastapi
- groq
- hugging-face-transformers
- javascript
- pandas
- postgresql
- python
- react
- scikit-learn
- sentence-bert
- spacy
- sqlalchemy
- sqlite
- vader
Log in or sign up for Devpost to join the conversation.