← Research Portfolio
Recommender-System Research | Design Probe

Everyday-Inspired Movie Recommenders

Can a recommender draw on someone’s everyday life - read from their social media - to suggest movies that feel personally relevant? A system-as-probe study that uncovered what such a system actually needs.

Two interfaces: the participant’s movie-recommendation rating screen, and the researcher’s companion interface for adjusting keywords and categories
The study apparatus: participants rated recommendations against their own social posts (left), while a companion interface (right) let researchers adjust the system’s extracted keywords/categories to diagnose what was missing.
My RoleFirst author & lead - system design, study design, analysis
Timeline2023
Context21 participants | 105 real social-media posts
Recommender DesignSystem-as-ProbeHuman-in-the-LoopWithin-Subjects StudyEmergent CodingNLP (keywords/categories)Design Implications

Project Overview

Streaming recommenders optimize around what you’ve already watched and how others rate things - they’re blind to what’s actually happening in your life this week. People pour their everyday experiences into social media, so I asked whether those posts could index a person’s current mood and life context well enough to recommend movies that feel relevant right now.

My role. I led the project as first author: I helped build a working social-media-based recommender and a companion "human-in-the-loop" interface, designed a within-subjects study against a strong baseline, and led the mixed-methods analysis that turned failure cases into design requirements.

The impact. The study did something more useful for a roadmap: it proved a naive lexical approach is insufficient and mapped why. Human judgment scored recommendations far higher than the system (5.56 vs 3.27 on relevance, p < .001), and the human-in-the-loop probe converted that gap into six concrete design implications for building an everyday-life-aware recommender.

The Challenge

A social post isn’t a search query - it’s emotional, contextual, cultural, and often oblique ("well, we made it to day two before class time became pasta time"). The core research problem was to discover which dimensions of a post actually determine whether a resulting recommendation feels relevant, so that future systems know what to model. A plain keyword/category match was the obvious first guess - but was it enough?

Core questions we needed to answer

  • Can recommendations generated from someone’s social posts feel personally relevant at all?
  • How does an automated keyword/category match compare to a human reading the same post?
  • When the system fails, why does it fail - what is it missing about everyday life?
  • Which human adjustments most improve relevance, and what design requirements do they imply?

Methodology

I deliberately built a deliberately simple system and used it as a research probe rather than a product: the point was to expose the boundary of a lexical approach and, through a human-in-the-loop interface, reverse-engineer what a smarter system would need. I anchored the comparison to a human-judgment baseline so "good" had a meaningful reference point.

Recommender as a design probe

Why Building the simplest plausible system is the fastest way to find exactly where it breaks - and each break point is a design requirement in disguise.

How Implemented a recommender over a 26,780-title movie database, using NLP to extract keywords and categories from both social posts and movie plots and a weighted nearest-neighbor match to score relevance.

Human-in-the-loop companion interface

Why Seeing what a human changes to fix a bad recommendation reveals the system’s blind spots far better than error metrics alone.

How Built a companion tool letting a researcher add, remove, or edit the system’s extracted parameters and regenerate a recommendation - then analyzed which edits raised relevance and why.

Within-subjects study vs. a human baseline

Why Perceived relevance is subjective; a within-subjects design with a human-judgment baseline controls for individual taste and sets a credible ceiling.

How Recruited 21 participants and collected 105 of their real social posts; each rated system-only, human-manipulated, and human-judgment recommendations (7-point relevance). Low-relevance explanations were coded with emergent qualitative analysis.

Key Insights & Artifacts

01

Lexical matching wasn’t enough - and the human-in-the-loop probe showed exactly how far off it was.

System-only recommendations scored 3.27/7 for relevance versus 5.56 for a human reading the same post (p < .001). Letting a researcher tweak the extracted parameters lifted the system to 4.03 (p = .047), and more edits meant higher relevance (r = .27, p = .031) - evidence the gap is closable, but not with keywords alone.

Decision A clear no-ship signal for the naive approach, plus proof that the missing signal is learnable: the roadmap should target the specific dimensions humans supply, not more keyword tuning.

Bar chart of mean relevance ratings: System Only 3.27, System with Researcher Manipulation 4.03, Human Judgment 5.56
Artifact - mean perceived relevance by method. The system-only baseline trails human judgment by more than two points; targeted human edits recover part of the gap.
02

Relevance is emotional and contextual, not lexical.

Coding the failures revealed consistent patterns: matched words with the wrong meaning, mismatched emotional tone (a happy post paired to a bleak film), fixation on unimportant words ("pasta" over "class"), wrong genre/connotation, and an inability to read sarcasm or hyperbole. The right keyword with the wrong feeling still felt irrelevant.

Decision Directly yields design implications: model the emotional valence of a post, weight words by importance, and account for tone/genre - addressable today with sentiment analysis and salience weighting.

03

Everyday life is cultural and time-bound - generic NLP can’t see it.

The system missed cultural references (an unfamiliar festival, a fictional character) and current-affairs context (a post referencing a news moment), because it reasoned from general subject matter rather than a person’s specific world. These are exactly the cues that make a post feel like a life.

Decision Points to harder but higher-value requirements - cultural awareness tuned to the individual user and awareness of current events — that need dedicated research beyond off-the-shelf NLP.

Impact & Learnings

How the team applied the findings

The study reframed "build an everyday-life recommender" from a modeling guess into a prioritized set of requirements, separating quick wins from research bets.

  • Quantified the ceiling: human relevance 5.56 vs. 3.27 system-only, with human-in-the-loop edits recovering meaningful ground.
  • Six design implications spanning word interpretation, emotional valence, word importance, tone/connotation, cultural awareness, and current-affairs grounding.
  • A clear split between near-term fixes (sentiment, weighting) and longer-horizon research (cultural and temporal awareness).
  • A reusable system-as-probe + human-in-the-loop method for diagnosing recommender blind spots.

What I learned

Building the simplest system and studying its failures - with a human-in-the-loop to show the "correct" move - was a fast, cheap way to generate credible requirements. It reinforced that in personalization, feeling is a first-class signal: getting the topic right but the emotion wrong still reads as irrelevant.

What I'd do differently

With today’s tooling I’d swap the keyword/category pipeline for an LLM that can read tone, sarcasm, and context, then re-run the same probe to find its new failure boundary. I’d also broaden beyond one movie database and one NLP service, and grow the sample to test how the dimensions generalize across cultures.