Back to Projects
Purdue Typesense Hackathon 2026

What Was That?

An evidence-first hybrid recall search engine designed to identify half-remembered movies, TV shows, songs, books, and games from fragmented scene descriptions, motifs, or lyrics.

Search Paradigm
Hybrid Retrieval
Dense Vectors + BM25
P1 Latency
< 50ms
Zero-LLM Fast Path
Catalog Scope
Multimodal Recall
5 Media Verticals
Infrastructure
Flask & Typesense
Docker Isolated Boundary
Vague Query Resolution

How Messy Memories Turn Into Accurate Matches

Traditional databases fail when users don't remember the exact title. Here is how our hybrid retrieval pipeline scores fragmented user memory queries against media records:

Movie
Exact Evidence Match
User Vague Input:

"A dream heist movie where people enter subconscious levels and a spinning top matters"

Identified Work:
Inception (2010)Christopher Nolan

Matched clues: dream-sharing technology, multi-level heist, subconscious totem, spinning top physics.

Dense Vector + BM25High Confidence< 40ms
Game
Exact Evidence Match
User Vague Input:

"A cozy farming game where you inherit your grandfather's overgrown plot in a small valley town"

Identified Work:
Stardew ValleyConcernedApe (Eric Barone)

Matched clues: grandfather inheritance, farm restoration, crops & animal husbandry, Pelican Town community.

Semantic Intent MatchHigh Confidence< 35ms
Song
Exact Evidence Match
User Vague Input:

"A sad acoustic folk-rock ballad about driving fast at night to escape working-class poverty"

Identified Work:
Fast CarTracy Chapman

Matched clues: fast car motif, night driving, escaping poverty, acoustic folk ballad.

Lyric & Thematic VectorHigh Confidence< 28ms
Book
Exact Evidence Match
User Vague Input:

"A dystopian novel with thought police, 24/7 surveillance, and Big Brother controlling reality"

Identified Work:
1984George Orwell

Matched clues: Thought Police, Big Brother surveillance, Oceania regime, Winston Smith rebellion.

Conceptual Clue OverlapHigh Confidence< 30ms
Interactive Recall Sandbox

Search with Half-Remembered Clues

Type anything you remember—a scene, character totem, plot twist, or vibe. The engine extracts intent and ranks results by clue overlap.

Curated Showcase Index: 18 Titles
Try prompts:
Showing 6 matches
Hybrid Recall Logic Active
System Architecture

System Architecture & Retrieval Pipeline

Unlike standard keyword search or raw vector cosine lookups, "What Was That?" solves vague recall queries using a multi-stage retrieval architecture designed for high precision without hallucination risk.

01

Query Intent & Pre-Filtering

Requests hit the Flask API gateway (/api/search), where query terms are parsed to classify intent, detect media scope constraints (e.g. "a song", "that novel"), and sanitize filters to protect index boundaries.

  • Mode switching (Recall vs. Discover)
  • Type constraint enforcement
02

Hybrid Typesense Retrieval

Queries are matched against the active media_current alias in Typesense using balanced hybrid search. BM25 keyword matching catches exact character names, while 384-dimensional vector embeddings capture abstract thematic concepts.

  • Built-in embedding model
  • Atomic alias rotation & rollback
03

Evidence Scoring & Explanation

Results are projected with transparent evidence chips explaining *why* each record matched—such as matched keywords, thematic resonance, or visual motif overlap—giving the user instant clarity.

  • Highlight snippet scoring
  • Zero-LLM instant latency
Zero-Downtime Index Lifecycle
Flask CLI Commands
# 1. Validate the curated multimodal catalog
python -m flask catalog validate data/media.jsonl

# 2. Build index schema with hybrid embedding model
python -m flask catalog create-index --name media_v1

# 3. Import normalized records and warm vectors
python -m flask catalog import --collection media_v1 data/media.jsonl

# 4. Atomically point the media_current alias
python -m flask catalog activate --collection media_v1