Personalised meal plans built around real medical data. Users answer health questions once and the system handles the rest, matching recipes to their conditions, delivering fresh meals daily and syncing progress from their wearables.


Patients with diabetes, kidney disease and post-surgery recovery need meals built around strict nutritional limits. Coordinating that manually between nutritionists, kitchens and delivery drivers meant errors, delays and a ceiling on how many people the service could reach. Solving it called for end-to-end full-stack development that ties every step together.
Answer medical, physical and nutritional questions. The system maps your conditions, goals and restrictions to a personalised nutrition plan.

A nightly algorithm matches recipes to your macros, allergens and meal plan tier. You can swap meals before the kitchen locks the day's prep.

Kitchen staff prep your meals with ingredient-level accuracy. Delivery workers bring them to your address in the time slot you chose.









Medical, physical and nutritional screening that maps conditions and goals to personalised nutritional constraints.
Daily meals auto-assigned by a nightly algorithm matching macros, allergens and meal plan tiers. Swap with a tap.
Terra API connects Apple Watch, Fitbit and Garmin. Activity, sleep, heart rate and body metrics flow in automatically.
Daily mood logging, weight, blood glucose, blood pressure and measurements with visual trend charts.
Workout videos, yoga, physio exercises and health articles delivered through Cloudflare Streams.
Condition-based support groups for diabetes, pregnancy and general wellness with moderation.
A Vue 3 admin panel with 6 role-based permission tiers. Kitchen managers prep meals from daily assignment views. Nutritionists manage user macros, Ramadan plans and nutrient limits. Admins track analytics across ingredients, recipes, conditions and delivery areas. Every action is logged in an audit trail.

Pie charts tracking most used ingredients, popular recipes, common conditions, active doctors and delivery coverage areas.

Weekly meal assignment view across plan types. Filter by date, assign recipes and track matched vs unassigned users.

Full recipe management with Arabic names, dietary tags, storage temps, portioning rules and nutritional profiles.

Per-user macro targets, Ramadan plan config, sodium/potassium/phosphate limits and monthly average tracking.
The platform needed to serve users with drastically different nutritional requirements. Diabetes, gestational diabetes, chronic kidney disease, bariatric surgery recovery and pregnancy each have strict macro and micro-nutrient constraints. One system had to handle all of them without dietitian input for every single user.
We built a constraint-based meal assignment engine. Each medical condition maps to a set of nutritional rules. The nightly cron job uses bipartite matching to assign recipes that satisfy all active constraints for each user while maintaining variety across the week.
Nightly meal assignment had to automatically match recipes to hundreds of subscribers based on their medical tags, calorie targets, allergen restrictions and meal plan tier. Manual assignment was not scalable and any mismatch could have medical consequences.
The automated assignment pipeline runs as a nightly cron job with a bipartite matching algorithm. It resolves nutritional constraints, respects user preferences and allergen tags, ensures recipe variety and handles multiple meal plan tiers (3+2 snacks, 7 meals, Ramadan, bariatric) in a single pass.
The admin panel had to serve multiple roles with completely different needs. Kitchen staff needed prep views and shopping lists. Nutritionists needed user health data and diet controls. Managers needed dashboards and audit logs. Each role required fine-grained permissions.
We implemented role-based access control with section-level permissions. Six distinct roles (admin, chef, doctor, kitchen manager, delivery worker, editor) each see only the sections relevant to their work. The Vue 3 admin panel dynamically renders navigation and controls based on the authenticated role.
Wearable health data from dozens of device brands needed to flow into the app in near real-time. Sleep, activity, heart rate and body metrics had to be normalised from different data formats and displayed in meaningful charts for both users and their nutritionists.
Terra API handles the device abstraction layer. We pipe raw wearable data into MongoDB time-series collections, then transform and aggregate it for display. Our Flutter app development team used Syncfusion and fl_chart to render the dashboards. The architecture handles data from any Terra-supported device without per-brand integration work.
A personalised nutrition platform typically costs between $120,000 and $300,000. A basic version with meal plans, user profiles and delivery scheduling starts near $120,000. A full build with medical questionnaires, automated meal assignment, wearable sync, admin panel with role-based access, bilingual support and payment processing lands between $200,000 and $300,000.
The system runs a nightly cron job that uses bipartite matching. Each user has a set of nutritional constraints based on their medical conditions and goals. Each recipe has a nutritional profile. The algorithm matches recipes to users so every meal falls within their calorie, macro and micro-nutrient targets while maintaining variety across the week.
Terra is a unified API that connects to hundreds of wearable devices and health apps. Instead of building separate integrations for Apple Watch, Fitbit, Garmin and others, Terra normalises the data into a single format. The app receives activity, sleep, heart rate and body metrics through one integration point.
Flutter's easy_localization package handles string translations for English and Arabic. RTL layout support is built into Flutter's widget system. The app detects the user's language preference and mirrors the entire UI including navigation, text alignment, date formats and number formatting.
Each staff member gets a role: admin, chef, doctor, kitchen manager, delivery worker or editor. Roles map to section-level permissions. A chef sees kitchen prep views and shopping lists but not user medical data. A doctor sees health profiles and lab results but not delivery logistics. The admin panel dynamically shows only the relevant sections.
A full nutrition platform with mobile app, admin panel, automated meal assignment and wearable integration takes 6 to 9 months. Expect 4 weeks of architecture and API design, 12 to 20 weeks of parallel mobile and admin development, 4 weeks of integration testing with real recipes and users and 2 weeks for store submission and deployment.
Yes. JoinBeet supports multiple concurrent meal plan tiers including 3 meals + 2 snacks, 7 small meals, Ramadan plans with Iftar and Suhoor timing and bariatric plans with specific portion controls. The meal assignment algorithm factors in the plan type alongside nutritional constraints when selecting recipes.
Each medical condition maps to a set of hard nutritional constraints. Diabetes users get carb-controlled meals. CKD users get potassium and phosphate limited meals. The algorithm treats these as hard constraints that cannot be violated. Nutritionists can override assignments through the admin panel and all changes are logged in the audit trail.
We build full-stack health platforms with personalised meal assignment, wearable integration, admin panels and subscription billing. From concept to live users.