ThriftTrac came to Lotus as a horribly slow and error prone application, written with zero test coverage and many artifacts in the codebase from previous attempts at infrastructure changes, unused code and more.
We first reviewed all code to identify security vunerabilities, best practices, found several previously unknown bugs, identified code to be removed, and delivered that to the client. We prioritized, implemented and deployed serious improvements over the first 3 months of involvement.
One of the major concerns brought to our attention early on was severe performance issues in the application. We audited the infrastructure to make slight changes, but by utilizing NewRelic to monitor and identify missing database indexes, missing model cache counters, uncessary database queries and more, we were able to improve site performance by a factor of 4 with minimal effort.
Enhacements for future optimization include moving asset delivery from the Rails server to AWS CloudFront and introducing a memcached server for fragment caching.