Bachelor thesis · Portfolio project

Household meal planning around everyone at the table.

TableTogether plans multi-day meals for a whole household, connecting member profiles to a recipe-based generator, then turning the result into recipes, grocery lists and progress insights.

Built on

326
recipes
1,537
canonical foods
2,498
ingredient rows
TableTogether home screen
Meal plan Profiles, recipes, portions
Grocery list Aggregated for the household

Product story

Built for a shared household, not a single isolated diet.

Meal planning gets harder when several people share the same kitchen but have different goals, preferences and dietary restrictions. TableTogether brings those profiles into one planning flow instead of treating each person as a separate diet.

The result is a shared plan built from real recipes, with portions adapted per member and the practical pieces that follow: cooking details, alternatives, groceries and progress tracking.

Application flow

From household profiles to meals, groceries and insights.

01

Set up the household

Add members, goals, preferences and dietary restrictions.

02

Generate the plan

Profiles and nutrition targets are passed to the planning engine to build a multi-day recipe plan.

03

Explore each meal

See macros, cooking time, scaled ingredients and step-by-step instructions.

04

Adapt when needed

Preview alternative recipes and their impact before replacing a meal.

05

Build the grocery list

Ingredients from the selected plan are aggregated into one practical shopping list.

06

Track progress

Save completed days and follow nutrition trends over time.

Product demo

See TableTogether in action.

This 80-second walkthrough uses Dima Household, a predefined sample household with three different member profiles, to show how TableTogether coordinates goals, preferences and dietary needs inside one planning flow.

Demo household Dima Household
Al

Alice

Maintain goal · vegetarian profile

Ad

Adrian

Weight loss goal · no special restriction

M

Marius

Muscle gain goal · active teenager

Different profiles, one coordinated plan.

80 sec walkthrough Mobile app End-to-end flow

Profiles and planning

One plan, adapted to different people.

Each member keeps their own goals and preferences while still taking part in the same plan. Portions and meal views adapt to the selected profile without splitting the experience into separate planners.

Household profile management screen
Generated meal plan screen

Cooking steps and alternatives

Inspect the recipe. Preview the alternative. Then decide.

Recipe views show scaled ingredient amounts and practical cooking steps for the generated portion. When a meal needs changing, alternatives are previewed first and applied through the backend only after validation.

Similar recipes are surfaced through a lightweight KNN-based retrieval layer, while the main planning engine remains deterministic and rule-based.

Recipe steps and scaled ingredients
Alternative recipe preview

Groceries and progress

From meal plan to shopping list and progress history.

Selected recipe ingredients are combined into a categorized grocery list with purchase suggestions and estimated prices. Completed meals can then be saved as daily snapshots and reflected in the Insights view over time.

Aggregated grocery list screen
Insights and progress trends screen

Technical architecture

A clear path from mobile UI to planning engine.

React Native + Expo
mobile UI
FastAPI backend
routes, validation, persistence
Python generator
filters, scoring, portions
Food_DB + Recipes_DB
curated app-facing data

Mobile

TypeScript, React Native, Expo SDK 56, react-native-svg and local image assets.

Backend

Python, FastAPI, Uvicorn and SQLite for local accounts, sessions, plans and progress.

Generator

Deterministic recipe-based planning with slot filters, profile guards, scoring and groceries.

Data

Curated CSV and JSON layers for canonical foods, recipes, ingredients and grocery references.

Project context

Built as a bachelor thesis, refined as a portfolio project.

TableTogether was developed as an end-to-end Economic Informatics project combining mobile development, backend APIs, data processing and a custom meal-planning engine.

The current version is intentionally local-first and non-clinical, with curated datasets and estimated prices that keep the system reproducible without depending on commercial services.