Jolene Fernandes

Growth operator with range and taste

01 · Know what to build

Consumer conversation research engine

Python · thematic analysis · sentiment scoring · auditable outputs

At a glance

Problem
Teams make product, brand, and marketing calls without hearing how customers really talk about their problems.
Build
A research pipeline that reads public conversations at scale, finds themes, and determines the sentiment of each theme.
Result
Auditable consumer insights traceable to source materials.

How it works

  • My judgment
  • Python
  • Claude reads
  • Deliverables
  • Out of the run
Consumer research pipelineTwelve steps, top to bottom. A person writes the brief and picks the sources and window. Python collects, normalises and scores. Claude filters, classifies sentiment, emotion and aspects in one pass, discovers themes in rounds, reads whatever no theme caught, and synthesises one insight per theme. Empty records and irrelevant items leave the run on the right. Unthemed items do not: they come back into the narrative review. The report and the insights workbook come out at the bottom.Briefbrand or topic, category, geographySources and windowsubreddits, forums, search terms, datesCollectitems pulled from each sourceNormalizeone schema, one id per item, dedupDropped at normalizationempty records, duplicatesFiltermechanical rules, then relevanceRejectedjunk and conversational glueSentiment, emotion and aspectsone pass per item, Plutchik 8 emotionsTheme discoveryreads in rounds until nothing new comes backUnthemed itemsread, never droppedNarrative reviewthe run stops if over 10% has no themeSynthesizeone insight per themeScoreconfidence, signal strength, brand healthReportcharts, verbatims, methodology, limitsInsights workbookevery item behind every number

Key decisions

An auditable pipeline that reads what a market says when nobody is asking, then themes, sizes, and scores conversations for sentiment.

A human writes the brief: the communities, time window, and what counts as relevant. The pipeline runs from there in stages.

Four decisions:

  1. Themes are discovered from the corpus, not supplied to it.A stratified discovery sample first, then full-corpus mapping against what came back.
  2. Sentiment is scored per aspect named in an item.So one post that praises the price and attacks the side effects is counted as both.
  3. Scoring is arithmetic, never the model's opinion.Confidence comes from sample size, source spread, temporal consistency, internal agreement, and recency; signal strength comes from prevalence, engagement, intensity, and conversation depth.
  4. Every emotion score prints beside real quotes from the items scored that way.So the classification can be audited rather than trusted.

My background in the humanities taught me that how you frame a question decides the answer you get, that the loudest voices in a dataset are rarely the representative ones, and that a claim is worth only as much as the evidence you can put next to it. Every build I ship publishes its own limitations for the same reason.

The repo lists 14 known limitations, each with a severity and whether it is fixable.

Product teams can use this engine to find the language customers already use. Marketing teams can use it to create relevant content.