1. Time Period — not sure what this refers to. Why is the maximum only 30 days or one month? I think some text to explain that screen would help.
2. Resting Heart Rate — I don’t know what to choose and there is no information or link to sources that could help decide.
3. Metrics and Goals — what time period are those goals over? Is that related to the Time Period setting? Or is it weekly? Why are there goals and toggles for “Vigorous Exercise” and “Moderate Exercise” in addition to the zone wise toggles? How do these overlap with the zones? Again, reducing the goals and toggles and/or adding text and/or reorganizing this may help (for example, “Vigorous Exercise” could just be a heading for zone 5 and zone 4, “Moderate Exercise” could just be a heading for zone 3 and zone 2 — I don’t know if this even makes sense).
As someone else said, an onboarding flow with explanations and choices for settings could really help (and the user could be instructed that if needed, they can change these in settings later).
Looking at my “Vigorous Exercise” number on the main screen, I don’t know if I should aim to increase it or not. Some guidance on what goals to aim for, with the caveat that the user should consult a medical professional to decide on exercises appropriate for them, would also be useful.
Edit: I see that there’s some information in the Help & FAQ and About pages linked from the i (information) button, but it doesn’t cover everything from my feedback above. I still think these should be in the onboarding flow and easily accessible again within the app (without opening a web page).
I'd really love to see last week's information. Especially since you launched on a Monday, I'd love to have a new-user experience that shows me last week's info.
Other misc feedback:
1. Upon launching the app, I didn't see any data. Had to go into the gear menu -> approve health data sharing. I think it'd be better to push the user to this approval flow on their first session? (Edit: Aha, after watching the video: settings -> time period -> last 7 days)
2. Neither here nor there, but I wanted to download this so searched the app store on my phone for "heart rate zones plus" and this app was #16. I'm curious if anyone in the discussion knows -- how is this search rating determined? Is there anything the author can do to improve the ranking?
about 2. from my understanding good ratings and usage would help the ranking in app stores. But I don't expect some good positioning there (already) with an app being 4 days old.
Note: I was not able to find the app in the app store on my iphone even by searching for the exact name. I had to open a browser search for the app and click open with app store. Note sure why (tried from canada if that makes any difference).
Feedback: First off, I really like your app's style. I love bold colors. The screenshots and text are clear and understandable - maybe except on how the data gets in there. Even if that's by hand, I still think this is a great first version and a solid product.
While I'm not in your workout target group - nor on iOS - it still resonates with me because I use Oura (the ring) specifically for their detailed heart-rate tracking and stress tracking. My most-used feature in their app is my stress-tracking throughout the day.
Feature request: Only to explain how data gets inserted.
Pretty sure the easiest way is to use an apple watch
Thanks for building this!
You mentioned it’s your first app. Did you vibe code your way through it or did you heavily use AI?
I played around with Swift SwiftUI and I felt that AI helped me a lot in contrast to my day to day job, humongous code base, I can’t get AI to get those mythical 100x productivity gains, more like 0.37x, but for new projects it’s been great, so I was wondering…
I know this not the place; but what exactly is your definition of 'vibe coding' since you've used it with such confidence in your comment perhaps you can enlighten this programmer..
Vibe coding is when you disregard the code altogether and build something throwaway for fun that you don’t care about maintaining:
> There's a new kind of coding I call "vibe coding", where you fully give in to the vibes, embrace exponentials, and forget that the code even exists. […] It's not too bad for throwaway weekend projects, but still quite amusing. I'm building a project or webapp, but it's not really coding - I just see stuff, say stuff, run stuff, and copy paste stuff, and it mostly works.
Claude Code is very vibe code.
Between the Apple Watch and Fitness app, you can see your heart rate zone during a workout, and then review workout heart rates/zones over time afterward. https://support.apple.com/guide/watch/view-heart-rate-zones-...
Also I have a coworker who is never actively tracking the workouts in the gym. As I'm using all heart rate measurements, I would still give you an idea of you zones. Also if you run up the stairs Heart Rate Zones Plus might catch that as high zone.
In addition the calculation methods of Apple for the Zones are just "one method" I added a few more options I found in scientific literature of how to estimate, because depening on you fitness and body in general it may be different for you.
But I heavily used AI to get code snippets, explain code and also correct some stuff. To me as someone using SwiftUI for the first time, it felt like a 10x productivity gain. But SwiftUI also feels nice to code
Any chance you "down-port it" ? Or open source and accept contributions / clones ?
Do you support Apple watch? I never actually targeted that or owned one (I like a much more stylish smartwatch!) and thus don't immediately know how to spot that integration on an App Store detail page, hence the need to ask. But I get the sense a lot of folks who do train seriously like to do that with an Apple watch as primary or only device, and I could see enough utility in getting something like this kind of view in effective real time, to make the integration possibly worth considering. (If not already present! Or who knows, maybe Apple watches natively do that and now I know what the "heart rate push" feature on mine is imitating... ;)
I'm using (0.5, 0.6), => Zone 1 (0.6, 0.7), => Zone 2 (0.7, 0.8), => Zone 3 (0.8, 0.9), => Zone 4 (0.9, 1.5) => Zone 5
If you are able to reach 215 the problem might be that most of the calculations do 220 - age or something similar for max heart rate.
I like the interface but for the life of me I think I should be able to go back a period (“last week”). I think a week starts on Monday?
I also wrote an iOS app to do this exact same thing, although it’s unfinished and unpublished. I had a lot of trouble getting the app to perform well (what’s your secret?!)
Couple of things I implemented that you may want to consider:
1) onboarding flow to help users setup the app on first launch
2) filter certain workouts to include/exclude by type, duration, etc
3) home screen widget
Id love to chat if you’re open to it.
What I did is adding a loading indicator and fetching data onChange, so if I change e.g. bow heart rates are calculated it starts to fetch instantly after the change not only on the view with the bars.
And I'm currently just fetching 30 days. I think this will be interesting if I try to extend it.
Onboarding flow, Home screen widget is on my list. Thanks.
The filtering would also be interesting. Haven't though about hat because I usually myself do always the same workouts
The other big performance problem I've had is the simulator hanging when I try to use Swift Charts.
My primary interest was in monitoring my total zone 2 time for cardio workouts where I spend at least 30 consecutive minutes in zone 2. However I've reduced the scope for now while I get the minimum viable app up and running.
I would love to have a widget that shows my progress in the zones. Ideally this could be configured to e.g. only show progress in Zone 2 if thats my current training goal.
Keep up the good work and thanks for sharing!
Also, to filter by workout type. I care about zone for running but not for strength.
Does the Health app not allow you to automatically grab resting heart rate and max heart rate? I'm not sure why I would manually set those values in settings when they are already tracked in Health.
[1] possibly other brands too, I didn't look
This app isn't figuring out your heart rate with just the phone's hardware. It is displaying heart rate data from Apple Fitness, which comes from heart rate sensor data (e.g. the one on an Apple Watch)
If the answer is “until I don’t want to do it anymore” that is perfectly fine but then can there be a commitment to open sourcing (if it isn’t already) when you make that decision?
As an individual developer is the owner of the app and code I just want to know if the app will still exist in a year and be functional, otherwise I am not interested regardless of me liking the app idea.
If OP would like to charge money or accept donations or whatever they would like to do that is fine, but right now those questions are unanswered.
"Assume good faith" and that. Fair to ask, but show the courtesy due an equal at least until it is evident that is unwarranted. This engineer has done work demonstrating they are at least my equal and I am not prepared to treat them otherwise only because I have not seen them do so before. The 32/64 bit and Intel/Arm transitions should be enough warning for anyone and lie well within living memory.
Someone may cavil over "polish," I suppose. I have a 5-quart 'Artisan' Kitchen-Aid stand mixer in lavender, because that nicely sets off my kitchen decor and because I impose light enough duty on that machine to make aesthetics a reasonable figure of merit. This app is not that kind of machine. Who cares what color the cover plates are, when the target audience will never run the machine with them installed anyway?
(And unless there exists a design patent, why worry about a case where, at worst, you already know what market you need your product to fit?)
It’s not unfair to want to know whether the author plans to make it viable long term or if it is a project that is scratching their personal itch.
If it’s a project that’s only meant to scratch a personal itch and they only plan to support it for as long as they deem it useful and have no intention of open sourcing it in the future that is fine, I personally, and I’m sure other , don’t want to bother with it, that doesn’t mean nobody does but it answers a question and prevents disappointment down the line.
If the author has intentions of supporting it long term then asking about funding or long term development effort assists the author to think about something they might bot have thought about, or at the very least has the author clarify.
I’m fine with paying for polish, many users are.
Here the product is already made and in distribution, asking these questions isn’t preventing the project for getting going, they are the next logical step in the life of a project, arguably some of them should have been asked before “going live” like if you would like to monitise the project.
I asked a question in response to them asking me to download and use their app. Have we reached a point in this world where simply asking a question is offensive? They had every right to choose not to respond just like I can choose not to use their app if they don’t. How you respond is your choice, if you chose to take offence to a question about the long term sustainability of a project that’s on you, for me I don’t want to use software that has no intention of existing long term. If we have different values that’s fine, I don’t care.