Use directly failing checks attribute
Use HTML5 data attributes to store progress bar params

This is cleaner solution than introducing own attributes.
Do not unconditionally return all checks
Optimize number of queries on frequent pages

Using select_related on last changes and project listing allows us to
fetch more data at once, leading to less database connections and faster
page loading times.