MassFlow is a focused bulking companion built with Expo and React Native. It helps users plan meals, track daily nutrition, manage task groups with reminders, follow a simple workout plan, and log weight progress. The app is optimized for Android and uses local notifications only.
What the app does
- Task groups with todo reminders Create a task group (e.g., "Morning Routine") and add multiple todos with their own times. The app schedules reminders 60, 30, and 5 minutes before each todo.
- Fixed daily meal reminders
Daily reminders for:
- 7:30 AM Breakfast
- 10:40 AM College Snack
- 1:00 PM Lunch
- 4:30 PM Evening Snack
- 8:30 PM Dinner If a meal plan exists, the reminder includes what to eat.
- Daily nutrition summary At 10:30 PM, the app shows a summary notification with total kcal and protein for the day.
- Morning workout reminder A 6:30 AM reminder with today’s workout title (or rest day message).
- Food tracking Track items per meal, compute total kcal and protein, and save the daily summary.
- Workout screen Displays a simple weekly plan with exercises and links.
- Weight tracking Log daily weight changes and see progress toward a goal.
Tech stack
- Expo + React Native
- TypeScript
expo-notifications(local notifications)@react-native-async-storage/async-storage(local persistence)
Data storage keys
@task_groups— task groups and todos@diet_plan_state— meal plan and completed items@daily_summary— daily kcal and protein totals@weight_history— weight log
Notification system (Android only)
- Uses
expo-notifications - Local notifications only
- Deduplicated scheduling with per-item IDs
- Old schedules are canceled before rescheduling
Project structure
app/— app entry and layoutcomponents/myscreens/— main screens (Home, Food, Work, Weight, AddTask)utils/notifications.ts— centralized notification logicutils/workoutPlan.ts— shared workout planassets/— images and icons
Run locally
- Install dependencies
npm install
- Start the app
npx expo start
Notes
- The app is designed for Android devices.
- Notifications are scheduled locally and survive APK builds.
- No backend is required.