Answers
FAQ
Common questions about setup, logging, AI providers, and updates.
Setup & AI
Do I need an API key?
Yes for signup — FitBuddy needs a working AI connection. For OpenRouter you can tap Continue with OpenRouter (account sign-in, no paste) or add API keys. Gemini, OpenAI, and Ollama Cloud need keys; Ollama Local needs a reachable server URL (optionally with a key). Photo and freeform logging, target design, and the Progress Coach all use that provider.
How does OpenRouter sign-in work?
FitBuddy opens OpenRouter in the browser (or a Custom Tab). After you approve, a short-lived callback returns a key stored on-device. You can disconnect anytime. If you also paste manual API keys, those are preferred; the sign-in token is only used when manual keys fail.
Which provider should I pick?
OpenRouter is convenient for free vision models and account sign-in. Gemini works well if you already have a Google AI Studio key. Ollama is best if you want local models on your LAN, or Ollama Cloud — and Local mode works with any OpenAI-compatible server (LM Studio, vLLM, LocalAI). OpenAI connects directly with your OpenAI key (gpt-4o / gpt-4o-mini); it has no free tier, so paid models stay on and Auto failover stays off for it. You can switch anytime in Settings — FitBuddy does not auto-switch platforms.
What does Show paid models do?
Off by default, model dropdowns list free (or free-vision) options. Turn Show paid models on in Settings to include paid OpenRouter and Gemini models in the Photo and Text lists. OpenAI has no free tier, so it always keeps paid models on.
Validation failed during onboarding
Check the key (no extra spaces), that the provider account is active, and that you have network access. For OpenRouter sign-in, finish the browser flow and return to the app. For Ollama Local, confirm the phone can reach the server URL (same Wi‑Fi, firewall, HTTP allowed). Change the key or URL and tap Continue again.
What does Auto failover do?
When on, a failed request tries other API keys, then other models on the same preferred platform. When off, only your selected model is used, but keys still rotate on failure. It never jumps to another provider for you. Rate-limited models are skipped until the next UTC midnight, and a green active pill shows the model that actually served your request.
Is there an offline mode?
Text-only logging can fall back to a built-in simulator if no provider is configured — but current onboarding requires a working key, so normal installs stay online for AI. Photos always need a live provider.
Reminders
How do daily log reminders work?
Settings → Preferences → Daily log reminder schedules one local notification per day (default 8:00 PM). Grant notification permission when asked. For timely delivery, also allow Alarms & reminders (exact alarms); otherwise Android may delay the ping.
Reminder turned itself off
If notification permission is revoked or denied, FitBuddy disables the reminder so it doesn’t silently fail. Re-enable the toggle and allow notifications again.
Logging & accuracy
How accurate are calorie estimates?
They are model estimates, not lab measurements — especially for mixed Indian plates and homemade food. Always use Review to correct dish names and weights. Prefer weighing ingredients when precision matters.
Why did the AI ask a clarifying question?
When the photo or text is ambiguous, FitBuddy may ask for more detail before producing a draft. Answer and continue the analysis.
Barcode not found
The scanner decodes barcodes on-device with an open-source library (no Google ML Kit); lookups then use Open Food Facts. Regional or new products may be missing — enter nutrition manually or describe the food instead. Check network connectivity for the lookup step.
Can I edit a meal after logging?
Yes. Open it from the Dashboard log for that day to edit or delete. Meal review lets you tweak individual foods and ingredients; food review supports live macro rescale and Recalculate with AI.
Can I log food on a past day?
Yes. On Dashboard, tap a day in the week strip (or open week history), then use Log. Entries are saved on the day you selected. You can also clone an older meal or workout onto real today when you want to repeat it.
Targets & Body
Where do my calorie targets come from?
Right after onboarding, FitBuddy asks the AI for a plan using your age, size, activity, and goal. You can change numbers manually on Body, or tap Recommend with AI again later.
Exercise calories and the daily ring
Burned calories are credited toward the day’s balance (eat-back style). The Dashboard ring reflects net progress toward your target — see the Eaten / Burned / Target stats. Switch days in the week strip to see another day’s balance.
Updates & data
How do I update the app?
Install a newer APK from GitHub Releases, or use Settings → Check for Updates (and optional automatic checks). Keep FitBuddy open until the installer starts.
Update won’t install over my current app
Android requires the same signing certificate. Use official release APKs from this project’s Releases page. A debug-signed local build may conflict with a release build (or the reverse).
How do I back up my data?
Settings → Backup → Export creates a JSON file (logs, profile, settings, presets, and related data). You can optionally set a password to encrypt the file. For personal cloud backup (when available in your build): enable cloud backup, keep your Support ID safe, then use Upload now or Auto-upload on startup. Restore from cloud or a local file during onboarding after reinstall — day-to-day Settings does not show Import.
Are my backups encrypted?
Cloud backups always are — the payload is encrypted on-device (AES-256) before upload, so the cloud only ever stores encrypted data. Local exports are encrypted when you set a password in the Export dialog. Set an optional password when you enable cloud backup (blank uses default Support ID protection), and change it later via Change cloud backup password. Custom passwords are stored device-only in the Android Keystore and never leave your phone.
What if I forget my backup password?
There’s no recovery — the password is never uploaded, so an encrypted backup can’t be opened without it. If you only used default (Support ID) protection, your Support ID unlocks the backup, which is another reason to keep that ID safe.
I reinstalled — how do I restore?
On first launch choose Restore from cloud backup (enter the Support ID that uploaded the backup) or Restore from local backup (pick your Export JSON). If the backup is password-protected, FitBuddy prompts for the password (up to five attempts). If AI credentials don’t validate after restore, FitBuddy asks you to reconnect AI only.
Something crashed — how do I report it?
If crash reports are enabled, events go to Sentry anonymously. Copy your Support ID from Settings and include it when you contact the developer or open a GitHub issue. You can turn reporting off anytime. Details: Privacy.
Where is the source code / license?
github.com/anantdark/FitBuddy, licensed under GPL-3.0.
Still stuck? Open an issue on GitHub or read the usage guide.