I see your jam jar drinking glass and raise you a moka pot succulent

Dare to Donate

The internal project at Independents United started as a small app to help a colleague raise money for charity. After a hugely successful campaign I lead the rebuild to turn it into a platform anyone could use.

The service allows fundraisers to raise money by charging donors to vote for challenges. We were one of the first apps to use JustGiving's API and it continues to grow in popularity.



The realisation that user interface had become 'ordinary' set me off creating a website of experimentation to see whether or not we'd be using forms and message boxes for the rest of our internetting lives.

Using some new HTML5 features and a bit of jQuery wizardry I made a Bublie - a bubble-based pinboard. To add a pin (bubble) one simply drags images or links from other websites into a pinboard (bubble board), which is symbolized by a larger bubble that grows according to the number of pins it contains.

From there everything is taken care of. If a website is pinned Bublie will fetch whatever meta data it can about it and decide on the best way to display that content.



I needed a super quick way to implement fancy-pants page transitions so knocked together this jQuery plugin to do the job.

The plugin does the full paging shebang and works off window hashes to make linking easy. But the real magic is done with CSS3 animations; many of which the open source community have generously supplied.


Video Scroll

All Saints ran a campaign allowing their users to control the position of a video with a scrollbar but unnusually didn't use HTML5 Video. I wanted to see what would happen if you did, so put together this.

The technique they used to play the video was one famously used by Apple. Instead of using an actual video they extracted each frame as an image and used JavaScript to swap them out in turn. The benefit of this (apart from working seamlessly across devices) was a drastic reduction in stutter when seeking backward and forward.

Although my example works it's only on condition that the computer is capable and the video is WEBM.



Our client needed the ability to create all sorts of forms for a Facebook competition app.

BuildaForm is a heavy duty jQuery form builder and gives the administrator complete control over their form and the developer the flexability to add and modify inputs. In our case we made a new select input that pulled in each cinema in the UK.



We realised that we were discovering tech startups weeks or sometimes months before they emerged in the news, so there was no question whether or not to start a blog about them.

Techmog is an open news source which London's tech talents are free to write for on an ad-hoc basis, and the site actually generates more London traffic than our closest commercial competitor.

We've maximised our talent for discovery by developing our own system where we can find many tech startups within a few minutes of them launching. We pride ourselves with the fact that we can tweet about a new Kickstarter campaign less than 10 minutes after they launch.


Sky Fortitude

We were briefed to create something cool and different on Tumblr for the new TV series Fortitude.

Our design was a flow of scattered content which was seemingly random in position.

The posts follow a spine which runs down the page and the position of content is slightly randomised.

The author is able to control the behaviour of posts by adding various tags to the post. For example, 'hero' forces images and videos to become full-width, breaking the spine and then allowing it to continue afterwards.

The complexity of the build came from the fact that Tumblr was limiting and a challenge to work with. There was no option for server-side programming, so everything needed to be done client-side.

The code of each post needed to be transformed with CSS and Javascript into as many as three radically different displays. We were essentially designing three different components with the same piece of code.

Tumblr is known for its simplistic design, and we did a great job at challenging this.



Tasks to encourage users to follow accounts on social media can be repetitive, so are perfect for automating. I discovered that a good percentage of people follow you when you favourite their tweet, however the tactic is prone to error and favouriting the same person more than once can lead to their irritation.

I coded a simple program which allowed me to search and favourite tweets, but not more than once for each person. The program became Adorer and has helped grow hundreds of accounts to thousands of followers. The service has also been extended to Instagram and further automation features are being added.