my tests were a mess for years. going multiplatform accidentally fixed them

i build a fitness tracker. android + ios.

my old android testing setup was a lie.

unit tests for the easy stuff. robolectric for framework things. a pile of flaky instrumentation tests i quietly stopped running. everything else? "i'll test it manually."

then i went KMM. and shared code physically can't touch android APIs.

that one constraint fixed more than any testing book i ever read.

what my tests look like now:

presenters are molecule composables returning StateFlow. no viewmodel. no android lifecycle. so presenter tests are plain JVM tests — push events in, assert on state. kotlin-test + runTest + turbine. they run in seconds.

they've never flaked. not once. there's nothing left to flake — no emulator, no framework, no clock weirdness.

use cases and repos: same deal. interfaces everywhere, fakes instead of mocks. camera/notifications/storage hide behind interfaces, shared code tests against fakes.

one test i'd force every koin user to write: boot every DI module, resolve the whole graph. koin fails at runtime, not compile time. this single test saved me from maybe five embarrassing releases.

what i lost: UI tests. compose multiplatform test tooling is young and i'm one person. so i made screens dumb — they render state, forward events, decide nothing. if the screen compiles and the presenter is right, remaining bugs are cosmetic.

might not survive a real team. works great solo.

the actual lesson (works even if you never touch KMP):

fast reliable tests don't come from testing tools. they come from architecture that keeps logic out of framework classes. KMP just forced me to do what i should've done years ago.

anyone actually running compose UI tests in CI and happy? genuinely asking.

reddit.com
u/behzodhalil — 5 hours ago

Taking my Android app multiplatform meant giving up the entire Jetpack stack. It went better than expected, mostly

I ship a fitness tracker on Android and iOS from one KMP codebase, and the part nobody warned me about was how much Jetpack I'd have to leave behind. Basically all of it. None of the libraries I'd built muscle memory around cross the platform boundary.

So here's how each replacement actually went, a few months into production.

ViewModel got replaced by Molecule, and this was the weirdest one to accept. Presentation logic is now Composable functions that return a StateFlow, with the event sink living inside the state object - the Circuit pattern. I know how that sounds. Business logic as composables felt cursed to me too. But it ended up being my favorite part of the codebase: one immutable state type per screen, and presenter tests are plain JVM tests. No Robolectric, no instrumentation runner, nothing. The tradeoff is the compose compiler sitting in your presentation layer, and having to explain to anyone who joins why there's Composable on things that never draw pixels.

Navigation went to Decompose. Steeper learning curve than the nav graph, not going to pretend otherwise, and the docs kind of assume you already understand the component model. But navigation state being plain testable code instead of XML grew on me fast. On iOS you do end up owning the lifecycle wiring yourself, which is exactly as fun as it sounds.

Room to SQLDelight was the swap I dreaded most and it turned out to be the best one. You write actual SQL and get typed Kotlin with Flow back. I thought I'd miss Room's annotations. I don't miss them at all - migrations as plain .sq files are way more predictable than Room's auto-migration guessing games. You do write your own joins though, there's no relation mapping magic coming to save you.

Hilt to Koin, honestly, felt like a downgrade at first. You lose compile-time validation and you find your missing bindings at runtime like it's 2015 again. I made peace with it by writing one test that boots every Koin module - do that on day one and it stops being scary. And the kapt/ksp build time you get back is real.

WorkManager is the one with no good ending. The multiplatform background work story is still just... bad. I kept WorkManager on Android behind an interface and iOS gets the bare minimum. If someone has solved this properly I genuinely want to hear about it.

Would I do any of this for an Android-only app? No. Jetpack on its home turf is better tooling, full stop. But the moment iOS entered the roadmap, every one of these swaps was cheaper than maintaining a second codebase.

Anyone running Molecule or Decompose with an actual team? I'm solo, so I have no idea what these choices cost when five people have to agree on them.

reddit.com
u/behzodhalil — 5 hours ago

I shipped an iOS fitness app with almost no Swift. some honest notes on Kotlin Multiplatform from the iOS side

before anyone reaches for the pitchfork: I like Swift. but I'm one person building for both platforms, and maintaining two codebases wasn't realistic. so my app is Kotlin Multiplatform - shared logic AND shared UI via Compose Multiplatform. it's been live on the App Store for a while now.

what surprised me from the iOS side:

the app feels native enough that users don't ask. I expected "this feels like a web app" reviews. didn't happen. Compose Multiplatform renders via Skia and the scrolling/gesture feel is genuinely close.

the Swift I did write is a thin shell - app entry point, and platform bridges (notifications, sign in with apple, camera). everything else lives in Kotlin. my rule: interface in shared code, implementation per platform only for real platform APIs.

what iOS devs will hate (fairly):

- cold Kotlin/Native builds are painful. incremental is fine, cold build is coffee-break tier

- debugging across the language boundary is worse than staying in Xcode. crash symbolication for Kotlin frames takes setup

- you still need to understand iOS deeply - app review, lifecycle, memory model don't disappear because your logic is Kotlin

app review war story: Apple flagged my health recommendation screens under guideline 1.4.1 - had to add tappable medical source citations to every screen giving health advice. also got pushed to add Sign in with Apple the moment I had any third-party login. none of that cares what language you wrote it in.

would I do it again? for a solo cross-platform product, yes without hesitation. if I were iOS-only, I'd stay pure Swift/SwiftUI - the tooling gap is real.

curious what this sub thinks: anyone else shipping iOS with KMP or another cross-platform stack? where did it bite you?

reddit.com
u/behzodhalil — 6 hours ago

i got tired of paying 2 subscriptions for 1 gym habit. so i built my own app with kotlin multiplatform

MyFitnessPal for meals. Hevy for workouts.

two apps. two subscriptions. one gym session.

so i built Better — workouts + meals + macros in one app.

one codebase for android + ios. compose multiplatform (screens 100% shared), decompose, molecule presenters, ktor, sqldelight. no team, no funding, just me and long nights.

a year ago i didn't believe shared UI in production was realistic. i was wrong.

it's free right now. i'll charge for NEW features later, but what exists today stays free. no bait.

ask me anything about the stack — especially if you're on the fence about compose multiplatform. i have opinions and scars.

and if you try it — tell me the first thing that annoyed you. i've stared at this app too long to see its rough edges.

https://preview.redd.it/3mfvtwg76tbh1.png?width=1284&format=png&auto=webp&s=b9729358c966c9b094395391742ab1170100704c

https://preview.redd.it/l3st0mk76tbh1.png?width=1284&format=png&auto=webp&s=360e234766f9f1a25b5b657bdbadc7d23f1357cb

https://preview.redd.it/kjb3rlk76tbh1.png?width=1284&format=png&auto=webp&s=1dea3930edfc71eec32bfa40ab2ccd0f4f43bd68

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

App Store: https://apps.apple.com/us/app/better-gym-calorie-tracker/id6769016777

reddit.com
u/behzodhalil — 6 hours ago

built a Hevy-ish workout tracker but it also logs my food (couldn't find one that did both well)

heads up, I'm the dev, so obviously biased.

I really like Hevy and Strong for logging lifts. clean, fast, all good. my problem was I also track food and I got tired of jumping between that and a separate nutrition app. felt dumb having my whole fitness life in two places.

so I built one that does both. the workout side is what you'd expect... 300+ exercise library with muscle group tags and search, saved templates so you're not rebuilding your push day every week, PR detection when you hit a new best, and it shows your previous set inline ("last time: 80kg x 8") so you actually know your progression. rest timer's in there too. works offline.

then the nutrition half is right there in the same app, Open Food Facts for the food db, macros, TDEE goals.

being straight with you it's newer than Hevy so it's less polished, and there's no barcode scanner on the food side yet (building the camera screen is next on my list). iOS just came out, android's been out a bit longer.

it's free right now. can drop links in a comment if you wanna try it, mainly looking for feedback from people who actually log both.

reddit.com
u/behzodhalil — 3 days ago

[Android/iOS] built a workout + nutrition app solo, happy to swap reviews

so I've been building this fitness app called Better for the past year and finally feel good enough about it to share

it basically combines workout tracking and nutrition logging into one app because I was tired of using Hevy and MFP separately. 300+ exercises, PR detection, macro tracking, progress charts, works on both Android and iOS (built it with Kotlin Multiplatform which was... an experience lol)

I know getting reviews as a solo dev is rough so I'm down to review yours too. drop your app below and I'll check it out today, leave an honest review

https://preview.redd.it/y46vcmx4ec2h1.png?width=1252&format=png&auto=webp&s=898cb2e43999f0cc5f248cc5e438f7a17ea75312

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

reddit.com
u/behzodhalil — 2 months ago

I got tired of switching between Hevy and MyFitnessPal so I built my own app

been working on this for a while now and figured it was time to share

I track both workouts and food pretty religiously but it always bugged me that no single app does both well. Hevy is great for lifting, MFP is great for calories, but I don't want two apps just to see if my protein intake is actually helping my bench press go up

so I built Better - a fitness + nutrition tracker that does both. Android and iOS from a single codebase using Kotlin Multiplatform which was honestly a massive learning experience on its own

the workout side has 300+ exercises, templates, PR detection, and it shows what you did last session so you're not guessing. nutrition side pulls from Open Food Facts, tracks macros, TDEE calculator built in. also body weight tracking with a trend line and streak tracking because apparently I'm motivated by not breaking streaks lol

just shipped progress charts this week - volume and calorie trends over 30/90/365 days. also photo meal logging and localization for Korean, Russian, Uzbek

things that still suck: no barcode scanner yet, I'm one person, design could use work in places. free rn, when I add premium later it'll be $3.99/mo for new features only — everything already there stays free

if anyone has questions about KMM or building a fitness app solo happy to chat

https://preview.redd.it/l7e0f90idc2h1.png?width=1320&format=png&auto=webp&s=56d16582eaa248f8caa24a1d8b20a0e3ec8b237f

https://preview.redd.it/ch86y40idc2h1.png?width=1320&format=png&auto=webp&s=a6a31e09a89507320f5e6f6bb265ed82a0d73691

https://preview.redd.it/u0o4qk0idc2h1.png?width=1320&format=png&auto=webp&s=10bbf77a72dd9915f0241a3f2b364437c1a8acab

https://preview.redd.it/3fudzj0idc2h1.png?width=1320&format=png&auto=webp&s=05fce03fabdb626c2591af1f1fd76d84e1c8efaf

https://preview.redd.it/85bmmk0idc2h1.png?width=1320&format=png&auto=webp&s=097b763e4f51fc342e40dade76c1aec5d3b525c7

https://preview.redd.it/wca83k0idc2h1.png?width=1284&format=png&auto=webp&s=a8f13dc1b1d5a4b2aa7bb545a2b9ee060b176890

reddit.com
u/behzodhalil — 2 months ago

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 — 2 months 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 — 2 months 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 — 2 months 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 — 2 months 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 — 2 months 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 — 2 months 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 — 2 months ago
▲ 16 r/alternativeto+12 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 — 5 hours 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 — 2 months 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 — 2 months ago