If you're looking for an app, Super Chinese (main Web page, Google app store, Apple app store) listens to you and evaluate your pronunciation and tone. But it's just a an app; I have doubts about precision and usefulness, and apps still can't compare to a human ear (I personally don't use it). Also it says which syllables were wrong, but doesn't say what was wrong. This app also includes conversations by native speakers to listen to and repeat.
If you have trouble distinguishing tones, I would highly recommend taking "musical hearing" classes ("solfège" in French) to develop your inner ear (the brain part). I really think this is the fastest way to develop the brain to distinguish pitches and tones. Your teacher could be a singing teacher of any kind (classical, pop...), but any professionnal musician can help you with this training. I observed that the students who have the most difficulty with tones can't actually sing a simple song, they kind of sing recto tono, which show their inner ear is underdevelopped (very frequent in the Western world).
Personnally, I spent hours listening to pedagogic videos on Youtube. Lots of videos by several different good teachers explain pronunciation nuances, even though it might be the academic pronunciations rather than the natural native ones.
Again, to get feedback on your pronunciation, I don't think any app could be a great solution.
- Talking with Chinese people,
- listening, listening more and listening again to refine your understanding of phonetic nuances,
- and, as you said, recording yourself and listening for comparison,
might be the single best ways to improve.