17 December 2008 6 comments Django
Admittedly, this is like cheating since the site is for mobile use it's kept very very simple and has no external dependencies so no need for a CDN. Getting a Grade A on YSlow! is very hard if the site needs to really blink. This one is built dedicated for small mobile phone screens on slow connections. I think now the bottleneck isn't in the rendering but in the connection latency for the remote database.
It also got a 4.9 (max 5.0) on ready.mobi which is the highest I've ever achieved there.
This site was developed in Django, fronted by Nginx with a remote MySQL connection to a server far away. Because of that connection I really had to get the caching right to avoid excessive SQL calls. The Debug Toolbar was instrumental to make that happen. I also used this snippet to allow me to use inline CSS and have it whitespace optimized.
Django's templates are really simplistic. I couldn't work out a way to specify cache unique keys depending on parameters so I had to do all the caching in the views.