Every TikTok, every YouTube cooking demo, every Instagram Reel, every nutritionist talk — ingested through our parsing fleet, structured into recipes, products, ingredients, and health-claim evidence-quality grades. Wired straight into the knowledge graph so cohorts emerge and cold-start works before a shopper has bought a thing.
Five structured tasks. One Gemini call per video. JSON out, ready for the graph.
Title · yield · ingredient lines (raw + parsed) · numbered steps · techniques · timestamps.
Brand · product · variant · category · shown vs. verbally_mentioned vs. sponsored · timestamp.
Name · raw_text · role (featured / mentioned / shown_only / compared_to) · claimed_attributes.
Claim · subject · evidence_quality (peer_reviewed_cited / expert_quoted / anecdotal / no_evidence / contested).
All four above, in one structured response. Video classification first, then the deep dive — one call, sub-30s.
Each step is its own container. Each runs on a different schedule. Everything writes to the same graph.
TikTok / YouTube / Instagram API or yt-dlp fetcher. Pulls bytes + creator + post metadata.
Native multimodal: transcribes audio, watches frames, returns structured JSON via response_schema.
Upserts :Recipe, :Ingredient, :Product, :HealthClaim nodes + typed edges back to :ShoppableVideo. Idempotent.
Daily Louvain → cohorts. Per-cohort signature aggregates top recipes / ingredients / brands / evidence-quality.
Real run on 2026-05-31 — Emma's Goodies "How to Make The Perfect Pancake" on YouTube. HelloFresh-sponsored. Gemini 2.5 Flash. 19 seconds wall-clock.
ziByVjPo2Vcpan-frying, visual doneness cueshown_and_mentioned · is_sponsored_content: truerole=featured @ 4srole=shown_only @ 10srole=shown_only @ 12srecipe_demoPhase 3 corpus: recipe demos · health talks · grocery hauls · cooking shorts. Real signal emerges in one run.
After 12 videos. The CreatorSignature for Emma's Goodies is computable immediately.
claimed_attributes goldmineMarketing-language → product-attribute mapping, verbatim from the speaker. This is the "which products do creators describe in health terms" advertiser signal.
Surface-form variants ("AP flour" / "all-purpose flour" / "flour") now collapse
into one canonical :Ingredient node. Macronutrient
concepts ("protein" the noun ≠ chicken breast) are filtered into a separate
cohort-signal stream. Qualifiers like melted
move from the name into the edge property where they belong.
7 · macronutrient ≠ ingredient63 · split from "all-purpose flour"3 · duplicate of "flour"2 · split from "chocolate chips"2 · duplicate of "chocolate chunks"3 · ambiguous (macro or ingredient?)865554410social/services/ingredient_canonicalizer.py with a hand-curated ~150-entry
vocabulary in _ingredient_vocab.py. Resolution order: macronutrient check →
prefix-qualifier stripping (fresh / organic / extra-virgin → moved to edge property) →
plural→singular → alias lookup → unresolved fallback. Designed to graduate when a USDA FoodData
Central / OpenFoodFacts taxonomy is loaded via ia.km_concept_tag — same
interface, deeper coverage.
Louvain community detection on the (Shopper)-(Creator)-(Video) graph. Each shopper gets a primary cohort + a topical signature aggregated across the videos cohort members actually engage with — weighted by cohort-attention so the signal isn't polluted by random discovery. Real output below from a 200-shopper synthetic run, 60 ms end-to-end, modularity 0.34.
444341454342373735383636Four query surfaces — same graph, different audience.
A shopper arrives via a Blinklink from creator X's video Y. Within 3 seconds we know: the recipe in Y, the ingredients featured, the creator's topical fingerprint, the cohort's signature, the trends currently spiking in that cohort — all from a single Memgraph traversal.
Daily Louvain over (Shopper)–(Creator)–(Video) gives each shopper a cohort. Per-cohort signature aggregates top recipes, top ingredients, dominant claim-evidence-quality. "Cohort 47 just spiked on cottage cheese (+340%) and contested seed-oils discourse (+220%)" — one query.
Closed-loop competitive signal — the kind retailers can't offer. Examples from the same graph:
Every health claim ships with an evidence-quality grade.
contested_or_disputed + no_evidence
claims flow straight to the safety module's review queue —
we never show a "tip" that contradicts mainstream nutrition
science without a flag.
Effectively free intelligence relative to the data value.
8-phase roadmap. Phases 0–3.1 live; 3.2–3.3 next; 4–8 follow.
melted" surfacing.peer_reviewed_cited studies the speaker actually cited), 31 ingredient mentions. ~$0.013 for ~9 min of content./api/v1/shoppers/{id}/cold-start