This is the exact journey a real query takes through Canopy, a student resource navigator.
Every query is screened for crisis signals by deterministic rules, not AI. A match stops everything, help comes first. Ours passes.
Typos, joual, franglais, all of it maps through a concept lexicon built from how students actually write. Watch the two needs surface:
i'm stressed and broke
Institutions write "psychosocial support". Students write "someone to talk to". So each of 400+ resources carries 15–20 real student phrasings, generated once, human-reviewed, indexed forever.
A typo-tolerant lexical engine and a multilingual semantic engine, where "je file cheap" lands near feeling down, not near coupons. Their rankings fuse into one honest score.
Uncertainty becomes one short question, chosen because it best splits the remaining candidates, and worded from your situation, not a category menu.
A final pass folds near-duplicates together so the shortlist covers different kinds of help. Relevance decides what's in; diversity decides what's distinct.
Our question resolved on-device at tier 2. When confidence is low, a query can escalate, to deeper server semantics, then to an AI guide that is forbidden, by automated test, from inventing a resource.
Whatever the AI understands that local search missed gets distilled back down, human-approved, into the instant on-device layers. Over time, more queries resolve in milliseconds, for nothing.