PHP

School year: first bachelor year, third term.

Front page: blog. Tags page.

For the “Introduction to Web Technology” course, 30% of the credits were based on the course project: building a portfolio website. Requirements were:

Time range
-

This work was done in the summer between my third bachelor year and my first master year. I basically continued where I left off last year.

Client
Time range
-

I was hired for this project after my second bachelor year. Mollom had been operating in private beta for about 6 months and they wanted to launch, but didn’t have a subscription system yet. 
They hired me to develop a custom, Drupal-based e-commerce and subscription management platform. In subsequent years, they continued to hire me to add more functionality. Notable requirements were:

Client
Time range
-

Merge asked me to add support for Views 2 to Hierarchical Select 3 for Drupal 6. Once that was completed, they also asked me to add the ability to only show items in Hierarchical Select that were associated with at least one entity1. This improved the UX for users: when filtering to an item in Hierarchical Select, it would be guaranteed that at least one entity would be displayed by Views!

Client
Time range
-

Drupal 7’s client-side (JavaScript) settings (Drupal.settings) merging only supports merging of single-level settings, whereas Hierarchical Select was using multiple levels. This caused problems if a new Hierarchical Select instance was added in an AJAX callback.

Client
Time range

ONE Agency had an urgent request for me: a client of them, http://worldpressphoto.org, needed to use a CDN for the upcoming (in February) World Press Photo event. They had to optimize it as much as possible, to make the pages load as fast as possible and reduce the load on their origin servers (which were fortunately behind Varnish instances). For this, they turned to my [CDN module for Drupal].

Client
Time range

Evaluated alternative payment systems (since I built the previous payment system), added advanced statistics such as churn rate and average customer lifetime.

Client
Time range