Cooking For U
A mobile application that generates personalized recipes based on available ingredients, dietary restrictions, and nutritional goals using AI and computer vision.
Project Overview
Cooking For U addresses a common challenge: deciding what to cook with available ingredients while meeting dietary preferences and nutritional goals. Traditional recipe apps require manual ingredient searches and don't account for what users already have at home.
The app uses computer vision to identify ingredients from photos—users simply photograph their refrigerator or pantry. Machine learning algorithms then generate personalized recipe recommendations that maximize ingredient usage, minimize waste, and align with dietary restrictions (vegetarian, vegan, gluten-free, keto, etc.).
Beyond recipe generation, the platform provides step-by-step cooking instructions, nutritional breakdowns, shopping list generation for missing ingredients, and meal planning features. The app learns from user preferences over time, continuously improving recommendations.
Development Timeline
Built a working AI cooking prototype capable of generating personalized recipes based on user inputs. Defined core feature set, user flows, and system logic. Established initial prompt structures and response formats.
Conducting structured bug testing to identify edge cases, performance issues, and inconsistent outputs. Refining AI responses for clarity, reliability, and usability. Iterating on prompt design and error handling based on test results.
Developing a public-facing website to communicate the app’s purpose, features, and value. Designing user flows, branding, and content structure. Ensuring consistency between the web experience and the app’s functionality.
Expanding app capabilities based on testing insights and user feedback. Improving personalization, recipe logic, and usability. Continuing iterative development while evaluating readiness for broader testing or deployment.
Technical Architecture
Mobile Application
- • React Native for iOS & Android
- • TypeScript for type safety
- • React Navigation for routing
- • Redux for state management
- • Expo for development workflow
AI & Machine Learning
- • TensorFlow Lite for on-device ML
- • Custom CNN for ingredient recognition
- • OpenAI API for recipe generation
- • Python for model training
- • Cloud Functions for ML inference
Backend Infrastructure
- • Firebase Authentication
- • Firestore for user data
- • Firebase Storage for images
- • Cloud Functions for serverless logic
- • Firebase Analytics for tracking
Core Features
- • Photo-based ingredient recognition
- • AI recipe generation
- • Dietary restriction filtering
- • Nutritional tracking
- • Meal planning & shopping lists
Key Learnings
1. Computer Vision Accuracy is Critical for User Trust
Early testing showed that inconsistent or incorrect outputs quickly undermined confidence in the app. Even small errors in ingredient handling or recipe logic had outsized effects on perceived usefulness. This reinforced the importance of prioritizing reliability and clear failure handling before expanding features.
2. Mobile-First Design Demands Intentional Simplicity
Designing for mobile required rethinking feature scope and interaction patterns. Interfaces that felt reasonable in theory became cumbersome on smaller screens. Iterative testing emphasized the value of minimizing steps, reducing cognitive load, and optimizing for quick, one-handed use.
3. Clear Value Must Be Communicated Immediately
Testing revealed that users need to understand the app’s core value within seconds of interaction. Ambiguous onboarding or feature-heavy introductions reduced engagement. This informed a shift toward clearer prompts, simpler entry points, and faster paths to a usable recipe.
4. Feature Scope Must Match Development Readiness
Exploration of advanced features (meal planning, nutrition tracking, image-based inputs) highlighted the risk of expanding too quickly. Focusing on a strong core experience proved more valuable than partial implementations of many features, guiding a more disciplined, iterative development approach.