← Palanca Studios

Nutrition Tracker

Food Logging & Macro Analytics

by Alexandre Fontoura

iOS & Android React Native Health

A mobile app for logging daily food intake, scanning nutrition labels with OCR, building reusable meals, browsing products, and analysing your nutritional data with detailed trends and analytics.

App Overview

Nutrition Tracker Screenshot 1
Nutrition Tracker Screenshot 2
Nutrition Tracker Screenshot 3
Nutrition Tracker Screenshot 4
Nutrition Tracker Screenshot 5
Nutrition Tracker Screenshot 6
Nutrition Tracker Screenshot 7

Core Capabilities

📸
OCR Scanner
Scan nutrition labels using the camera for instant food logging via Google Machine Vision API
📝
Food Logging
Daily food entry tracking with calories, protein, carbs, fat, and custom macros.
🥗
Meal Templates
Save and manage reusable meal combinations for fast daily logging.
🛒
Product Browser
Browse and search a catalog of products with nutritional info.
📈
Analytics Dashboard
Visualise calorie and macro trends over time with charts.
☁️
Cloud Sync
Auto-sync food logs across devices with 30s debounced uploads and smart merge.
📤
Data Sharing
Import/export via AirDrop using custom .nutritiontracker files with merge support.
🌍
Multi-Language
Localised using i18next and Expo Localization for global accessibility.
Pro Subscription
Premium tier with cloud sync, unlocked features, and subscription management.

Smart Sync Engine

The Pro tier includes cloud sync that automatically uploads food logs across devices. The system uses a 30-second debounce to batch changes efficiently, supports manual sync triggers, and uses a smart merge strategy — keeping unique entries from each device and preferring newer timestamps for conflicts.

Auto Upload

Changes debounced at 30s intervals to reduce API calls while keeping data current.

Smart Merge

Keeps unique entries from both devices. Conflicts resolved by preferring the newest version.

Manual Sync

Force sync anytime with a single tap. Works alongside automatic background sync.

Tech Stack

Built with React Native via Expo SDK 54 in TypeScript. The app uses React Navigation (bottom tabs + native stack), AsyncStorage for local persistence, and a service-oriented architecture with dedicated services for storage, cloud sync, OCR, subscriptions, meals, products, and data sharing.

React Native 0.81 Expo SDK 54 TypeScript React Navigation AsyncStorage Tesseract.js expo-camera i18next date-fns react-native-svg