Emoji Ingredient Search Engine
Recipe lists are easier to scan when ingredients have visual context. The problem: how do you reliably match "tomato" to 🍅, "chicken breast" to 🐔, and "poultry" to the same thing?
Keyword matching breaks fast. "Tomato paste" isn't the same as "tomato," and suddenly you're writing endless edge cases.
I went with semantic embeddings instead. The gte-small model converts ingredient names into vectors, stored in Supabase with pgvector. When a user adds an ingredient, cosine similarity finds the closest emoji match from Apple's default food emojis plus custom ones we generated for ingredients that don't have standard representations.
Now "chicken breast," "chicken thigh," and "poultry" all map to 🐔 without any manual rules. The system understands meaning, not just keywords. Turns out vector search is pretty good at making food look like food.