Meal planning is a very stressful yet personalized experience. It can pose risks for people with food allergies and can be especially daunting for those with functional neurodivergence i.e ADHD. While conducting our preliminary market research we realized that most platforms were prioritizing aesthetics and a bare minimum level of convenience hinging on the assumption that every user can flawlessly process long instructions, compare complex meals, or track ever-changing macros. This disregard for cognitive strain inspired us to build Savour, a kitchen assistant that manages and controls the cognitive strain of cooking and meal prepping for people with ADHD.
While building Savour, one of the first things we learned was that if we're aiming to help the neurodivergent population, less is more. During every step of the process we kept that mantra in mind. Whether it be UX design, implementation of features, or even the filters on recipes. We learned that a for a product to perform well in a neurodiverse market it needs to be simple yet not basic.
We built Savour as a local-first mobile app using Expo SDK 54 and React Native, with expo-router for file-based navigation and a custom dark UI system in TypeScript. The frontend uses React context for profile/preferences, recipe state, filtering, and cooking mode flows (including step-by-step instructions and timer UX). We paired that with a lightweight Node.js + Express backend that fetches and normalizes MealDB recipe data, supports search and pagination, and exposes clean endpoints consumed by the app. The architecture is Gemini-ready via environment-based API keys, while keeping everything runnable locally without a full cloud backend.
The biggest challenge was moving from static demo data to real, scalable recipe discovery without losing UX quality. MealDB data came in inconsistent formats, so we had to normalize fields, clean messy instructions, infer diet/allergen metadata, and handle missing values safely. We also hit local networking and environment issues during Expo + backend testing on a physical iPhone, including Node version mismatches, port conflicts, and API base URL setup. On top of that, we redesigned key flows (search, pagination, cooking mode, tab navigation, icons, and preferences) to stay visually calm while still handling larger datasets and edge cases smoothly.
Built With
- expo.io
- express.js
- geminiapi
- mealdb
- node.js
- react-native
Log in or sign up for Devpost to join the conversation.