A step counter that actually helps you stay motivated.
As an avid WalkingPad user it's important to me to get my 10.000 steps a day in. One of my pet peeves are apps that try to motivate you by keeping a streak up but don't help you when the streak breaks for whatever reason. Stoins is my attempt to fix that.
A broken streak can be the most demotivating thing ever. Just like walking more steps than your goal requires is the most motivating thing ever. Stoins combines these two things. You receive Stoins for every extra step you take. You can use these Stoins to fix your streak if you don't reach your goal.
An overview over all your recently walked steps
Day detail view with a buttom to use your Stoins to fix your streak
Buying the in app purchase will give users access to the main functionality of the app: Using their Stoins to fix their streak. If, for whatever reason, a daily step goal couldn't be reached, previously earned Stoins can be used to fill up the difference.
Of course there are achievements. With 3D badges and all!
Generate a shareable image of your current progress.
I spent far too much time in Blender getting the badges just right. It's not visible here but they're actually animated inside of the app. When you unlock one, you can tap on it to see it spin around. Amazing technology.
That sharing image actually was an interesting challenge in itself. The share button detects if you have Instagram installed and changes to a huge "Share on Instagram" button that opens Instagram with the image preloaded. The generic share button will still be there, just smaller. Enabling to switch between the light and dark theme of this view and rendering out a png file based on a SwiftUI view were challenges I had to overcome as well.
Lock screen widgets!
Widgets took me forever to build. There's a lot going on there and some of it is heavily complicated by Apple's strict rules for where health data is allowed to be fetched from and how often a widget can update itself. I'm still not 100% happy with the way they work but it's good enough for now.
Your Stoins wallet. You get Stoins by walking more than your goal.
Individual step goals and IAP
Getting people to understand the ins and outs of how they can aquire Stoins (the currency) is a bit tricky. You don't get Stoins for every step you take. You don't even get Stoins for every step that exceeds your daily goal. There's a "complicated" algorithm at work! In short: You can earn up to half your daily step goal as Stoins. If your goal is 10.000 steps and you walk 15.000, you'll get 5000 stoins. If your goal is 1000 steps and you walk 15.000 you only get 500 Stoins. You get the idea.
Stoins doesn't look like much but it was my first app that used data from third party libraries. Understanding how HealthKit works and how to deal with the data coming in was a challge. The code isn't great but the app works and people told me that it's actually the only step counter that actually helps them stay motivated. That's all I wanted to achieve.