Inspiration
Valora began with a personal wake-up call. After being diagnosed with kidney stones and fatty liver, I became much more conscious of what I was eating.
Every meal brought new questions. I kept searching online and repeating my health concerns, food preferences and restrictions to chatbots. I wanted something that remembered my context and helped turn it into practical everyday choices.
But remembering restrictions was only part of the problem. Food also needs to feel familiar and enjoyable. That inspired us to use Qloo’s taste intelligence to connect what someone enjoys with recommendations they can actually use.
What it does
Valora is a personal meal companion that helps you eat right, every day.
After onboarding and consent, it prepares a plan for the remaining meals today using saved food preferences, reported allergies, foods to avoid, cuisine choices and cooking-time limits.
Qloo contributes to personalization in two places:
- While saving preferences: Qloo-powered cuisine search helps users find and select recognized cuisines.
- While recommending meals: Qloo’s returned cuisine affinities help rank eligible recipes and supply taste context to the AI.
Users can then discuss their saved plan through chat. A request such as “I want something Italian tonight” becomes a proposed meal replacement, informed by the request, saved preferences, current plan and available taste evidence. Users review and confirm changes before they are saved.
Valora also supports pantry updates through text and voice, with an editable preview before saving.
The app supports everyday healthy eating. It does not diagnose conditions or prescribe clinical diets.
How we built it
We built on our existing Valora foundation, using Flutter and Dart for the app, a TypeScript API on Cloudflare Workers, Cloudflare D1 for account-scoped storage and Google OAuth for sign-in.
The recommendation flow starts with the user’s saved food rules. Application code filters the supported recipe catalog for allergies, exclusions, eating pattern and practical limits.
Qloo then adds taste intelligence to those eligible choices. Saved cuisine selections become public taste signals. Returned cuisine affinities influence recipe ranking and enter the language model’s meal-selection context.
NVIDIA Nemotron, accessed through Nebius Token Factory, handles conversational interpretation and meal selection. Rather than relying on a generic prompt, it receives structured context: saved preferences, eligible recipes, the current plan and relevant Qloo taste evidence.
This also connects Qloo to conversational recommendations. When a user requests a meal change, the selection process can incorporate Qloo’s cuisine affinities alongside the requested cuisine. Valora keeps returned affinities distinct from explicitly saved preferences and includes supporting taste explanations where available.
Application code validates the proposed recipe and controls confirmation and persistence. Taste signals cannot override saved food restrictions.
Qloo receives public cuisine signals, without account identifiers, health notes, allergy fields or raw conversations.
Challenges we ran into
The hardest challenge was connecting taste relevance, conversational intent and food constraints without treating them as interchangeable.
A cuisine affinity can suggest what someone may enjoy, but it cannot establish whether a dish meets their restrictions. We needed a clear boundary between Qloo’s taste intelligence, the language model’s interpretation and the application’s recipe validation.
Food terminology introduced another challenge. Users might enter “eggplant,” “brinjal” or a regional ingredient name. These need consistent handling so a saved exclusion remains meaningful throughout planning and chat.
We also had to distinguish a temporary request from a lasting preference. “Italian tonight” should influence one meal; it should not silently rewrite the user’s saved cuisine choices.
Finally, we needed honest handling of missing evidence. Valora must not invent Qloo recommendations or claim taste analysis occurred when no usable cuisine signal was available.
Accomplishments that we’re proud of
We brought Valora to a working Android MVP with saved preferences, first-day meal planning, conversational meal changes and natural-language pantry updates.
We’re particularly proud of making Qloo part of the recommendation flow, rather than placing taste discovery on a separate screen. Users save their preferences once, and those signals can contribute to meal selection and later conversational changes.
Qloo provides taste context, the language model turns structured context into suggestions, and application rules govern which recipes can be offered and saved.
This gives us a practical foundation for improving personalization while keeping users in control.
What we learned
Personalization requires more than adding profile data to a system prompt. The data must remain consistent across onboarding, recommendations, conversation and persistence.
We learned that Qloo’s taste intelligence becomes more useful when connected to a concrete decision, such as choosing among eligible dinner recipes.
We also learned to separate enjoyment from suitability. A recommendation can be culturally relevant without establishing ingredient safety or nutritional suitability.
Our early shortcomings showed us why structured context, ingredient normalization, confirmation flows and validation matter as much as fluent AI responses.
What’s next for Valora
We want to expand regional recipe coverage and improve ingredient terminology so recommendations feel more familiar across different food cultures.
For Qloo, our next step is to evaluate how cuisine affinities affect recommendation relevance and variety. We also want to explore richer public taste signals, with clear user consent, to better understand preferences beyond explicitly selected cuisines.
We plan to strengthen our research-backed knowledge layer and explore a specialized on-device model for Valora’s conversational tasks.
Our goal remains simple: help people make everyday food choices with less repetition, more personal relevance and meals they look forward to eating.
Built With
- cloudflare-d1
- cloudflare-workers
- dart
- flutter
- gemini-api
- github
- google-oauth
- qloo-api
- typescript
Log in or sign up for Devpost to join the conversation.