Imagination For People is a web platform based on Django and PostgreSQL that promotes social innovation projects and provides collaborative tools for a community of citizens from all over the globe.
I have worked for a few months with Imagination For People to help them with various aspects of their platform such as internationalization, social authentication, spam prevention, etc.
Imagination For People code base is open-source and is available on GitHub. In the context of my work with the platform, I had the opportunity to contribute patches to popular Django packages such as Django CMS or django-localeurl.
Bob Books is an online service which allows users to design and print high quality books from their own digital photos. With the same great people at Large Blue with whom I made Wines of Germany, we built a new shop module for Bob Books. I developed the backend using repoze.bfg web framework and ZODB. We designed an ad hoc single sign-on mechanism to integrate seamlessly with the rest of the app built in Zope 3.
Users can publish their books to a web gallery which can be browsed by categories and tags or they can choose to make them only available at a secret URL or even keep them totally private. A straightforward full-text search on all public books is available.
Each book can be rated and commented. Users can report any inappropriate content via a flagging mechanism and administrators can decide to remove it if necessary.
Books can be purchased using a simple shopping cart which integrates with SagePay for payment processing.
From 2009 to 2012, I've been commissioned by Large Blue to maintain the web infrastructure of London's museum of international contemporary design. This consists of the museum's main site and online shop, both large and busy Ruby on Rails applications, along with a few smaller sites based on WordPress or Zend Framework.
I worked closely with the museum's staff to help them make the most of their web publishing and emailing system. I implemented new features, solved problems, performed advanced configuration, optimized deployment (migrated from Mongrel to Passenger), etc.
The museum runs a shop which has a lot of interesting stuff, you should probably check it out, even if you're not an expert in design!
I made numerous improvements to the frontend and the backend, including critical changes to the ordering process.
I worked in collaboration with Large Blue to release the new version of Wines of Germany, a website which promotes German wines toward the British public. With a project manager and a graphic designer based in London, a frontend designer in Barcelona and myself doing backend development in Tokyo, this project was a good example of successful distributed development. We developed the site using Django and we used IRC and Git to communicate and synchronize our work.
The site includes typical features such as content management, contact form and newsletter subscription. A database of German wines is also available with a sophisticated search mechanism, a feature for which using TDD has been particularly helpful.
I worked closely with the frontend designer to create a customized Django admin interface, following specific client requirements.
IVCA player is a community site providing a showcase of award winning corporate communication videos. This site, built with repoze.bfg, needed a new members section as well as a number of presentation and usability improvements.
In collaboration with Large Blue, I developed a new mechanism allowing the site administrator to invite members to fill in their details and showcase their work. I also made countless improvements to other parts of the site.
For this project, I worked on both the backend (Python) and the frontend (HTML, CSS and JavaScript).
Earth Hour is an annual global event organized by WWF, asking people to turn of their lights for one hour to raise awareness that action should be taken against climate change. I worked in collaboration with Large Blue to create a platform for uploading and publishing photos of the event.
Since this system was going to be under heavy load for a short period of time, we built it on Google App Engine, so that it could scale at low cost.
WWF is a large and distributed organization and I had to respond with agility to requirements coming from different parts of the world. Using Python and jQuery has been of great help in getting this upload mechanism to meet the requirements in time.
The upload application integrates seamlessly with Squarespace and Flickr to let users instantly publish their photos on the Earth Hour's Photo Resources site, on Earth Hour's Flickr photostream and on their own Flickr photostream.
WordAddict is a personal lexicon webapp for language learners. This is a tool I wanted to help me studying foreign languages. I built it using Django, PostgreSQL and Bootstrap.
Users collect the vocabulary they learn and organize it using tags. They can sort their selection by date or alphabetical order, which allows for instance to easily get the list of verbs encountered over the last two weeks.
Personal examples can be added and each word is linked to third party services which provide additional information, such as Forvo, wich allows to listen to pronunciations from native speakers.
With the help of Bootstrap, the app is responsive and can be used on both desktop and mobile.