Our objective: Being able to post new project stories and other information about our company faster and easier. And we wanted to provide a new navigation system based on a tag cloud to make the usage of the site more fun.
So we first wrote a custom content management system. When we write software for ourselves, we use Common Lisp or Clojure. This time we used Clojure, because we wanted to run the system on Google App Engine (GAE). We are quite happy with the result. :)
Some technical details:
- Text and Images are stored in the Google Datastore. Forget about relational databases.
- When an image is uploaded, we scale it automatically with the GAE image service.
- We use memcached to cache the page content. It is quite fast.
- We use client-side Google Translation to translate the site into 9 languages.
- The GAE deployment and versioning is easy and fun.
- We had very, very few problems with GAE or Clojure.
Check out our post about interactive programming with emacs, clojure and app engine!