A minimalist iOS meal logging app that favors speed over bloat.
food tracker
Overview
Food Tracker is a responsive iOS meal-logging app built with React Native (Expo) and Supabase. It focuses on frictionless logging—fast entry, clean visuals, and building sustainable habits without calorie overwhelm.
Design System
01 Typography
| Style | Font | Size | Weight |
|---|---|---|---|
| Screen Title | System (SF Pro / Roboto) | 22 | Semi-Bold |
| Body (Entries) | System (SF Pro / Roboto) | 15 | Medium |
| Pill Label | System (SF Pro / Roboto) | 14 | Semi-Bold |
| Badge / Button | System (SF Pro / Roboto) | 14 | Semi-Bold |
| Small Label | System (SF Pro / Roboto) | 12 | Semi-Bold |
| Input Text | System (SF Pro / Roboto) | 16 | Regular |
Food Tracker uses platform system fonts for native feel and speed.
02 Colors
Problem
Meal trackers felt slow, cluttered, and overly calorie-centric. I wanted something I’d actually use daily—logging should take seconds, not minutes.
- Too many taps to record a simple meal
- Interfaces overloaded with nutrition fields I didn’t need
- No quick way to tag meal type or backdate an entry
User Feedback
Early testers echoed the same frustrations:
- “I just want to jot meals down fast—no calorie math.”
- “Other apps feel heavy. After a week I stop logging.”
- “If I forget, editing the date later should be easy.”
Solution
A minimalist flow built for speed and clarity:
- One-line input → type and hit add (no modal maze)
- Meal-type tags (Breakfast/Lunch/Dinner/Snack) → quick categorization without clutter
- Date/time picker → log past meals or fix mistakes in seconds
- Supabase sync → secure auth + real-time storage across devices
- Input validation → prevents blanks/duplicates for cleaner history
Core Features
- Fast entry: one-line input + meal-type tagging (Breakfast/Lunch/Dinner/Snack)
- Date/time picker: log past meals or plan ahead
- Supabase sync: secure auth + real-time storage (100+ entries tested)
- Validation: prevents blank/duplicate inputs for cleaner logs
- Tests: 100% coverage for stable releases and zero regressions
Implementation
Built with React Native (Expo) for rapid iteration and OTA updates. Supabase handles auth and Postgres storage with row-level security. UI state is kept lean to keep input latency near zero.
Results
- Improved entry accuracy by ~60% with validation + clearer tags
- Consistent daily logging due to sub-3-second entry flow
- Confidence to iterate thanks to 100% test coverage
What’s next
Two upgrades are already in progress to make Food Tracker more fun and more useful:
1. Themes you can swap anytime. Right now the app uses a Milk Tea theme. Soon you’ll be able to switch between presets like Cat or even ??? if I add more later.
2. AI Meal Prep. You’ll be able to say something like:
“I have chicken, spinach, and rice — plan meals from 10/7 to 10/14.”
It will:
- Use what you already have before suggesting anything new
- Build a plan for the exact date range you choose
- Let you replace meals you don’t like with one tap
Both features will be added without changing the simplicity of the core logging flow.