u/behzodhalil

Shipped v0.3.0 of my fitness app with AI photo detection - the demo took a day, the product took weeks. Here's the honest breakdown.

Shipped v0.3.0 of my fitness app with AI photo detection - the demo took a day, the product took weeks. Here's the honest breakdown.

Just pushed v0.3.0 of Better, my solo-dev fitness + nutrition app built with Kotlin Multiplatform (single codebase, Android + iOS). The headline feature: point your camera at a meal, get instant calorie and macro logging.

I want to share the honest build retrospective because the gap between "working prototype" and "shippable product" was bigger than anything I've experienced.

The problem that drove this feature:

Every single beta tester gave me the same feedback: "Workout tracking is great. Nutrition logging is too slow to stick with." Manual food search takes 2-3 minutes per meal. Nobody does that 3 times a day, every day. People would track workouts religiously but abandon nutrition after a week.

Photo detection was the obvious answer. Making it reliable was not.

Timeline vs. expectations:

  • Day 1-2: Working prototype. Clear photo of a single food item on a white plate, good lighting. Nailed it. I thought I was 80% done.
  • Week 1-3: Reality check. Blurry photos. Dim restaurant lighting. Plates with 6 different items touching each other. Home-cooked Central Asian food that no Western-trained model has ever seen. Street food wrapped in paper. I was maybe 30% done.
  • Week 3-5: Portion estimation. This is the genuinely hard part that nobody talks about. Identifying "rice" vs "pasta" is relatively easy. Estimating whether it's 150g or 250g of rice from a 2D image is a different problem entirely.

60% of total dev time went into edge cases that cover about 30% of real-world usage. But that 30% is the difference between a demo you show investors and a product users actually trust.

Architecture decisions (for the technical folks):

  • Camera capture is platform-specific (CameraX on Android, AVFoundation on iOS) - this is one of the few places where expect/actual beats interface + DI
  • Detection pipeline lives in shared commonMain - both platforms get identical behavior
  • On-device processing where possible, server fallback for complex multi-item plates
  • State machine: Idle -> Capturing -> Analyzing -> Results -> Error, modeled as sealed interface with a Molecule presenter managing the flow

85% shared code across platforms. KMP genuinely lets you build like a team of 5 while being a team of 1.

Business model context:

Better is $3.99/month. Everything currently in the app stays free forever. Photo detection is included free right now because I want the data flywheel - more photos logged means better detection accuracy over time. I will never paywall existing features. Only genuinely new stuff goes premium.

Revenue: pre-revenue. Still focused on building the product and acquiring early users. Not optimizing for money yet.

What actually matters long-term:

Photo detection isn't the moat. It's the enabler.

Better owns both workout AND nutrition data. When nutrition logging becomes effortless, people actually do it consistently. And consistent data from both domains unlocks something no competitor can build: "Your bench press improved 12% during weeks you hit your protein target."

MyFitnessPal has nutrition. Hevy has workouts. Neither can connect the two. That's the bet.

Biggest lesson from this feature:

The demo is never the product. If you're building anything with AI/ML, multiply your timeline estimate by 3x. The happy path works fast. The edge cases are where you actually earn user trust. And user trust is the only thing that matters for retention.

Question for other builders: What's the hardest "last mile" problem you've hit shipping an AI-powered feature? I'm curious whether the pattern of "60% of time on 30% of cases" is universal or if I just scoped poorly.

Google Play: https://play.google.com/store/apps/details?id=io.behzodhalil.better

https://preview.redd.it/zrups0ec7r0h1.png?width=1440&format=png&auto=webp&s=c513a02b7f27757896b2a809d559cec8d482d646

reddit.com
u/behzodhalil — 1 day ago

Anyone else give up on logging food because half your meals aren't in the database?

I eat a lot of home-cooked stuff - soups, stews, things my mom makes. Trying to log that in most apps is painful. You search for "shurpa" or "plov" and get zero results. Then you're stuck manually entering every ingredient and guessing weights.

Been testing this app called Better that lets you just take a photo of your plate. It breaks down each item separately - the soup, the bread, even the garlic on the side - with weight estimates and full macros.

I snapped a pic of dinner last night and it pulled up the soup at 500g, 375 cals, 30g protein. The bread, the herbs, everything listed out. Took about 3 seconds vs the 5 minutes I used to spend typing stuff in.

It also does workout tracking in the same app which is nice because I was using two separate apps before.

Still in testing right now so not widely available yet but DM me if you want to try it.

Curious though - do most of you even bother logging food? Or is it just too annoying to stick with?

reddit.com
u/behzodhalil — 3 days ago

How do you actually get your first 100 users for a mobile app in 2026?

I've been building a workout + nutrition tracking app for the past few months (Kotlin Multiplatform, targeting Android and iOS). Just shipped v0.2.0 to Google Play closed testing last week.

The core idea: one app that does both workout logging and food tracking. Right now if you want both, you're juggling MyFitnessPal and Hevy (or Strong). I want to kill thaT friction.

Problem is - I have no audience. Zero. The app works, closed testers seem to like it, but I'm stuck on what to do next for distribution.

Options I'm weighing:

  1. Content marketing - post workout tips, nutrition breakdowns in fitness subreddits. Not promoting anything, just building credibility over weeks/months before ever mentioning the app.
  2. Cold outreach in niche communities - find Discord servers, Facebook groups, smaller fitness forums. Offer free access, collect feedback.
  3. ProductHunt-style launch - wait until I have a polished landing page and go for a big bang moment.

I'm leaning toward option 1 because it feels the most sustainable, but it's slow. And I'm not sure fitness Reddit even notices usernames enough for credibility to compound.

Has anyone here specifically done user acquisition in the health/fitness space? What actually moved the needle early on before you had any social proof or reviews?

reddit.com
u/behzodhalil — 4 days ago
▲ 1 r/apps

Better is a fitness app that tracks both your workouts and your food. No more paying for two separate apps or copy-pasting between them.

Why I made it: I wanted to see if my bench press improved during weeks I actually hit my protein target. No app could tell me that because workout apps don't know your nutrition, and nutrition apps don't know your lifts. Better has both.

What's included (all free):

  • Exercise library (300+), custom templates, set/rep/weight logging
  • Food search (2.4M items), calorie and macro tracking, quick-add
  • PR celebrations, streak tracking, body weight with trend line
  • Offline support — logs everything without cell signal

https://play.google.com/store/apps/details?id=io.behzodhalil.better

Currently on Google Play with 5 installs (yes, five — brand new). Looking for early users who want to shape what gets built next. Everything that exists now stays free permanently.

https://preview.redd.it/n8at2qb3w2zg1.png?width=1440&format=png&auto=webp&s=92c030561db92a32412420854812a5ee556cf464

https://preview.redd.it/7gnedpb3w2zg1.png?width=1440&format=png&auto=webp&s=8886461700eaff491decf1d8254e7b9786b3a5a2

https://preview.redd.it/ii7ccpb3w2zg1.png?width=1440&format=png&auto=webp&s=7835fa5443687a893de363030d440518117eb727

reddit.com
u/behzodhalil — 10 days ago

Hey all. Just launched Better on Google Play. It combines workout tracking and nutrition logging — most apps only do one or the other.

What's included (all free, no paywall):

  • Workout logging with PR detection
  • Nutrition tracking with 2.4M food database
  • Calorie/macro goals, body weight trends, streaks
  • Works offline

Future premium features will be $4.99/mo but everything currently in the app stays free permanently.

https://play.google.com/store/apps/details?id=io.behzodhalil.better

Looking for honest, blunt feedback — UI, bugs, missing stuff, whatever. Don't hold back.

https://preview.redd.it/vdxcptwtv2zg1.png?width=1440&format=png&auto=webp&s=bc7f3b817bc8b987014700ac67732370e5038f0f

https://preview.redd.it/8w57xswtv2zg1.png?width=1440&format=png&auto=webp&s=77f66a884f071266e8b86ce14b2c2772b5689de2

https://preview.redd.it/j7nehswtv2zg1.png?width=1440&format=png&auto=webp&s=abe674f56aea71b3f0bfb86c6901e5226efe35c4

reddit.com
u/behzodhalil — 10 days ago

Quick background: I track both my lifts and my food. That means Hevy for workouts and MyFitnessPal for nutrition. Two apps, two subscriptions, and they know nothing about each other.

I spent 2 months building Better to fix this. It launched on Google Play last week and I have a grand total of 5 installs. But it works and I'm proud of it.

What you get today — all free, no paywall on existing features:

  • Full workout logging — exercises, sets, reps, weight, rest timer, templates, PR detection
  • Full nutrition logging — food search, calorie and macro tracking, quick-add, custom foods
  • One dashboard that shows both your training and eating for the day
  • Offline-first so it works anywhere including that basement gym with no signal
  • Streak tracking to keep you consistent

Built solo with Kotlin Multiplatform (85% shared code), so iOS is on the way. The $4.99/mo premium tier is reserved for future features only — early adopters keep everything free.

https://preview.redd.it/69dtzm4yt2zg1.png?width=1440&format=png&auto=webp&s=d343e3a09db95070e1e35c6403b6803aa5f372d8

https://preview.redd.it/0mduvn4yt2zg1.png?width=1440&format=png&auto=webp&s=d53b4a3aabd2235aee1c39807db1f8a9f1576b8a

https://preview.redd.it/nnhrbn4yt2zg1.png?width=1440&format=png&auto=webp&s=0c4fd622911564529926760922534b9d117f7968

Would love feedback from anyone who currently juggles multiple fitness apps. What would convince you to consolidate into one?

Link: https://play.google.com/store/apps/details?id=io.behzodhalil.better

reddit.com
u/behzodhalil — 10 days ago

I track my workouts religiously. I also track my food. The problem: every workout app ignores nutrition and every nutrition app ignores workouts. Two apps, two accounts, zero correlation between the data.

I wanted to see "does my bench press improve during weeks I hit my protein targets?" — impossible when your data lives in two separate apps.

So I built Better.

Workout side:

- Full workout logging (exercises, sets, reps, weight, rest timer)

- 300+ exercise library with muscle group tags

- PR detection — weight, volume, estimated 1RM

- Templates — save routines, load in one tap

- "Last time" display on every exercise

Nutrition side:

- Food search via Open Food Facts database

- Daily calorie and macro tracking

- Built-in TDEE calculator

- Quick-add calories, custom food entry

Other:

- Home dashboard pulling workout + nutrition + streaks together

- Body weight tracking with trend line

- Full offline support

- No ads

Built solo with Kotlin Multiplatform — single codebase for Android and iOS.

Play Store: https://play.google.com/store/apps/details?id=io.behzodhalil.better

https://preview.redd.it/la7rndcpniyg1.png?width=1440&format=png&auto=webp&s=bec980db3ee3b7b2e283478aa8f169415bd9de36

Would love feedback on the concept.

reddit.com
u/behzodhalil — 13 days ago
▲ 5 r/strongapp+5 crossposts

Today's the day — Better is officially on Google Play.

For those who haven't seen my previous posts: Better is a fitness app that combines workout tracking and nutrition logging into one app. The gap I noticed was that apps like Hevy and Strong are great for workouts but don't touch nutrition, and MyFitnessPal is great for food but doesn't do workout tracking properly.

The build journey:

  • Built with Kotlin Multiplatform (85% shared code for Android + iOS)
  • 19 features shipped for the MVP
  • Full offline support with sync
  • 300+ exercises in the library
  • Integrated Open Food Facts for 2.4M+ searchable foods
  • PR detection system that celebrates your personal records

What I learned building this:

  1. Feature creep is real. I had to cut my initial feature list in half to actually ship.
  2. Offline-first is hard but worth it. Nobody wants a gym app that needs WiFi.
  3. Food databases are messy. Deduplication, bad data, missing macros — spent more time on data quality than I expected.
  4. The "two-app problem" is real. Every lifter I talked to confirmed they use at least two apps.

https://play.google.com/store/apps/details?id=io.behzodhalil.better

iOS is coming this week. Would love any feedback from people who currently use multiple apps for fitness tracking.

u/behzodhalil — 1 day ago
▲ 13 r/Kotlin

Just launched Better on Google Play — a fitness app that tracks both workouts and nutrition. Wanted to share some KMP lessons from shipping to production.

Stack: KMP with Compose Multiplatform, Molecule presenters, Decompose navigation, SQLDelight, Koin, Ktor backend.

Key learnings:

  1. 85% code sharing is real — but the last 15% is where the pain is. Platform-specific APIs (notifications, file system, camera) need careful expect/actual or interface+DI design. I went with interface+Koin for most cases, only using expect/actual when absolutely necessary.
  2. Molecule presenters are excellent — Cash App's Molecule library made state management truly platform-agnostic. Presenters are pure Kotlin, testable without Android framework, and the StateFlow output works naturally with Compose.
  3. Decompose navigation survived production — I was nervous about using Decompose instead of Jetpack Navigation, but it's been solid. ChildStack for screen nav, ChildSlot for bottom sheets, all serializable configs. The key gotcha: unique keys for multiple childSlot calls, or you get runtime crashes.
  4. SQLDelight offline-first — workouts are logged locally first, synced later. Idempotency keys prevent duplicates. This pattern worked well but conflict resolution logic is complex.
  5. Open Food Facts API integration — debounced search against 2.4M+ foods. The API is free but data quality varies. Built a caching layer and frequent-foods suggestions to minimize API calls.

https://play.google.com/store/apps/details?id=io.behzodhalil.better

The app has 300+ exercises, full macro tracking, PR detection, workout templates, and streak tracking. iOS dropping this week using the same codebase.

https://preview.redd.it/vuu2pmpkbiyg1.png?width=1440&format=png&auto=webp&s=e8f093f30e5eb71ce8d985d8c6ba2c5af3c55cfb

Happy to dive deeper into any of these areas if anyone's interested.

reddit.com
u/behzodhalil — 13 days ago

Hey everyone. After months of building in public, Better is officially live on Google Play today.

The idea is simple: every fitness app makes you choose between tracking workouts (Hevy, Strong) or tracking food (MyFitnessPal). But your body doesn't separate these — your nutrition directly impacts your performance in the gym. So I built one app that handles both.

What's inside:

  • Workout logging with 300+ exercises, sets, reps, weight tracking
  • Full nutrition logging with a 2.4M+ food database (Open Food Facts)
  • PR detection — the app automatically detects personal records for weight, volume, and estimated 1RM
  • Workout templates — save and reuse your routines
  • Calorie and macro tracking with daily goals (TDEE calculator built in)
  • Streak tracking to keep you consistent
  • Body weight tracking with trend lines
  • Full offline support

Tech stack for the curious: Kotlin Multiplatform with 85% shared code between Android and iOS. Jetpack Compose for UI, Molecule for presenters, Decompose for navigation, SQLDelight for local DB, Ktor backend. iOS is coming this week.

https://preview.redd.it/wcc7tnfw8iyg1.png?width=1440&format=png&auto=webp&s=284cdbe3f8c4380b7afc23cb86c5febf64cd506d

https://play.google.com/store/apps/details?id=io.behzodhalil.better

I'd love feedback from anyone who lifts and tracks food. What's missing? What would make you switch from your current setup?

reddit.com
u/behzodhalil — 13 days ago