I see that you're using the stm32. I've programmed them, but I don't know their ethos very well.
On a similar topic, I evaluated a range of arduino's with ble. Specifically all of those offered by adafruit. I found that they all worked amazingly well, and that support from the community was easy to find.
On the phone side I've had a lot of luck using MIT app inventor 2, but you have to be really careful with data types. If I had it to do over I would have never tried to work ble with AI2... I would have gone straight to Android studio.
... Trouble these days is that everyone wants their phone apps to run on non Android devices. When you get to working with things like NFC, this becomes an issue.
...
So how did your selected ble device work out?
I'm currently running an stm32 and I'm seriously considering getting away from it. Right off I found bugs in the compiler around can settings, and I absolutely detest the machine generated paradigm that overwrites my code and does not read back what was previously written.
-methods