Inspiration

I used OpenNutriTracker to track calories, but I found the process slow. For many meals, I had to weigh every food item, ask ChatGPT to calculate calories and macros, and then manually add the information to the app.

I wanted to reduce these steps. CalT was created to bring meal estimates, diary tracking, and personal AI feedback into one Android app.

What it does

CalT is a frictionless calorie tracker for Android, built on top of OpenNutriTracker.

Users can log meals by searching for food, scanning barcodes, adding custom meals, or uploading a meal photo. The AI photo feature estimates foods, portions, calories, protein, carbohydrates, and fat. Users can review and edit every result before saving it.

CalT also includes CalT Coach, which gives a short review of today’s meals based on the user’s profile, goals, and diary. Ask CalT lets users ask follow-up questions about their meals.

AI is optional. Users can connect their own provider, such as OpenAI, Gemini, Anthropic, or an OpenAI-compatible service, through BYOK (Bring Your Own Key).

How we built it

We built CalT as a Flutter application and prepared it as a separate Android app with its own package ID, name, branding, and APK.

We used Codex with GPT-5.6 to develop and improve the project iteratively. Codex helped us turn product feedback into Flutter features, refine the design, create the CalT brand, add AI photo logging, improve the coach prompts, create local chat history, add seven-day sample data, and build the Android APK.

The app keeps diary data locally. API keys are stored in encrypted platform storage. AI provider calls are only made when users choose to use AI features.

Challenges we ran into

One challenge was making AI feedback useful instead of generic. Early AI insights gave broad nutrition advice. We changed the prompts so CalT Coach focuses on the user profile, goals, and meals logged today.

Another challenge was that different AI providers use different models, URLs, quotas, and response formats. A new API key does not always mean that a provider connection will work, because the account may need model access, quota, or billing.

We also had to make the Android app install separately from OpenNutriTracker. This required changing the Android package ID, app name, launcher icon, and build setup.

Accomplishments that we're proud of

We are proud that CalT solves a real personal problem: reducing the time and effort needed to track meals.

We are also proud of:

  • Creating a separate CalT Android identity on top of OpenNutriTracker.
  • Adding AI photo logging with editable meal estimates.
  • Making CalT Coach focused on today’s meals and the user’s profile.
  • Adding Ask CalT for personal meal questions.
  • Keeping AI optional and using BYOK for user control.
  • Adding a seven-day test diary so judges can test the dashboard, diary, calendar, and coach quickly.
  • Producing a working Android APK.

What we learned

We learned that AI features need clear context to be useful. Generic prompts create generic advice. Giving the AI the user’s goal, profile, and logged meal data produces more relevant feedback.

We also learned that AI estimates should not be presented as exact facts. Food photos can give useful portion and nutrition estimates, but users must be able to review and edit the results.

Finally, we learned that a good health app should remain useful without AI. CalT still works as a normal calorie tracker even if the user does not have an API key or AI subscription.

What's next for CalT: a frictionless calorie tracker for Android

Next, we want to improve photo estimates by letting users confirm portion sizes more easily. We also want to improve provider connection errors, so users can clearly see whether a problem is caused by a model ID, quota, API key, or network connection.

Other future ideas include:

  • Better weekly nutrition summaries.
  • More detailed micronutrient feedback.
  • Easier meal templates and repeat meals.
  • Better offline food search and barcode coverage.
  • Optional health and fitness integrations.
  • More personalised coaching based on long-term diary patterns.

Built With

  • codex
Share this project:

Updates