"we started having issues keeping up with customer demand"
"To keep things running smoothly, I scaled up our Heroku Dynos, but quickly realized that things needed to be rewritten as soon as possible to avoid major problems."
What you are saying is possible, by the article suggests they either did have problems serving customers or there was major risk of that happening...
We did the rewrite to avoid problems, and by the time we relaunched our new Flask backend we were struggling to support customer demand. All in all, NewRelic really helped save us here ^^
Heroku has always been great for us!
I'm always a bit surprised about the RapGenius stuff because their problem is not really a Heroku specific issue, IMO. If you're running code on Heroku (which uses random load balancing), you need to have a proper multi-threaded web server to serve requests concurrently.
In our situation, we were able to service many concurrent requests per dyno, and maintained very low response times (10ms or less), in most cases.