What is the best way to use this program?
It seems like DuoLingo keeps track of what I messed up on from previous modules and presents them to me in subsequent ones. So Is it better to keep repeating modules until I can do it without losing any hearts, or do I just keep moving forward regardless of how many hearts I earn?
I would keep moving forward. The point of the hearts is to make it so that you have to repeat yourself until you're ready to move on; once you've passed a lesson it means you're ready for something new. If there's particular vocabulary you're bad at or feel insecure about, I would recommend going to the Vocabulary section of the website, and clicking on Practice Weakest Words.