The Heroku dashboard is a large client side JavaScript app which was rewritten with Ember last year. Since then the project has gone from a promising greenfield of perfect code to a bit of a mess and lately, back again.
This is a story about the practicalities of working on a large software project. Trying to do the right thing, making trade offs along the way and taking tough decisions to get the thing shipped. We'll talk about balancing conflicting requirements, when to compromise, when not to and how to clean up afterwards.