Top

Adam Charnock

Senior Web Developer & Architect, London

Python, Django, JavaScript, CoffeeScript

“Adam has always delivered excellent work with outstanding speed.
He is knowledgeable and a pleasure to work with.” ~ Toby Hammond Toby founded PowerPredictor. I have worked with him since 2008.

Projects

My customers tell me I deliver great work.
I love what I do. I create work I am proud of, on time.

Timeline
2015

Nomadic Corporate E-learning CMS

View website

Nomadic required a custom Content Management System for their network of content producers. Content producers needed to not only create and modify new courses, but to deploy specific versions of courses and 'fork' existing courses. Older and forked courses would also be able to merge in updates as they became available.

My role was that of system architect and lead developer. The initial task was to coordinate a refactoring of the existing codebase to prepare for the substantial development work required. I simultaneously coordinated with UX and design team members regarding the new CMS' interface.

I additionally architected a new scaleable infrastructure based on Amazon Web Services. Load balancers spread requests over application servers, which connected to failover SQL database servers. Deployment was via Fabric and Git.

Python, Pyramid, management, CoffeeScript, JavaScript, realtime, websockets, AWS, Fabric, Git
2014

This Is On Events App

View website

This Is On approached me to architect and develop their new social events platform. I designed the application architecture and was ultimately responsible for developing the backend Restful API and payments infrastructure. I coordinated directly with the designer and front-end developer to ensure the client's needs would be fulfilled.

I was responsible for deployment of the staging and live environments to Amazon Web Services.

Django, Python, REST, AWS, payments
2013

Kia iPad Advert (The Telegraph)

Kia ran a full-page advert within The Telegraph's iPad app. The advert was responsive to device orientation and included text animation, retina-quality graphics, and a 30-second video. As the sole developer, I created a smooth experience and ensured the entire project's footprint measured less than four megabytes.

JavaScript, HTML5, animation, video, retina graphics

Lions Rugby Facebook App

View on Facebook

The Lions Rugby Team needed a Facebook app where fans could predict the officially chosen squad. The project had a very tight deadline and, as the sole developer, I was responsible for both front-end and back-end development. The front-end employed heavy use of sprited animations, drag & drop, and page state transitions. The back-end was a RESTful Django application deployed on Heroku.

CoffeeScript, Facebook, audio, animation, Django, REST, Heroku
2012

North Face Jacket Finder

View on the North Face website

I was the front-end developer for The North Face website's new Jacket Finder feature. The Jacket Finder dynamically loaded items as the user selected their jacket's desired features. I pulled results from the client's search infrastructure, requiring coordination with their in-house development team.

JavaScript, CoffeeScript, HTML, SASS

PlayNice.ly

PlayNice.ly was a startup for which I was co-founder and lead developer. Our goal was to apply modern user experience and gaming principles to bug tracking to create a clean, simple, and fast alternative to existing bug trackers.

The web app used JavaScript & RESTful APIs on the front-end, and Django & Redis on the back-end. The startup ran for three years, contributed spin-off open source libraries, and totalled around 60,000 lines of code.

Python, Django, Redis, AWS, API design, subscription billing, JavaScript, CSS

Royal Navy Homepage

View website

I was commissioned to reengineer the Royal Navy's homepage to fix long-standing bugs and implement new features. The site required IE6 compatibility and made significant use of Flash video, Microsoft Maps, and custom APIs.

Later, I worked to make the site compatible with EU cookie legislation through the creation of a cookie settings interface.

JavaScript, CSS, video, cookie law
2011

SuperBetter

View website

SuperBetter – a web application incorporating gaming mechanics to help people achieve their health goals – is the brainchild of Jane McGonigal, a world-leader in game design. I worked to develop the app's front-end using backbone.js.

JavaScript, backbone.js, Rails

New York Public Library Game

View website

I worked as part of a global team to develop a mobile game for the New York Public Library. The project received media coverage on CNN, Wired, LA Times, CNET, The Verge.

My involvement ranged from conception through to implementation of the back-end and backbone.js front-end. My co-developer and I coordinated with separate agencies which created the native iOS and Android mobile apps.

The project culminated with 500 volunteers being 'locked in' the library one evening with the goal of completing the game.

JavaScript, backbone.js

LV Real-Time Infrastructure

LuckyVoice, the UK's top karaoke brand, required a new realtime infrastructure for their karaoke bars. The purpose was threefold: customers needed to manage their room's playlist from their mobile devices, bar staff needed to monitor and administer individual rooms, and LuckyVoice HQ needed to monitor and administer their national network of karaoke bars.

My co-developer and I achieved this using WebSockets, Python, and Tornado for the back-end. In addition, we used JavaScript to produce proof-of-concept front-ends for each of the three use cases. We integrated with LuckyVoice's APIs to extract data and provide authentication & authorisation.

Python, Tornado, JavaScript, WebSockets, socket.io, mobile

Power Predictor

View website

PowerPredictor allows people to make informed decisions regarding their home's potential for renewable energy generation. Each PowerPredictor device collects thousands of data points that are used to produce a personalised report for each customer.

I freelanced with PowerPredictor as their lead developer for the three years following its inception. I created the first 'minimum viable product' web application, followed by the subsequent fully-fledged version.

The application used Amazon Web Services to dynamically scale its back-end data processing infrastructure. I developed a simple query language through which the client's experts could extract data directly into the website's user interface.

Zend Framework, PHP, Beanstalk, JavaScript, AWS
...

My Skills

JavaScript, jQuery & CoffeeScriptExpert
Responsive & MobilePro
Python & DjangoExpert
HTML, CSS & SASSPro
Deployment (Heroku & AWS)Expert

Current Workload

A rough indication of how busy the next few weeks are looking for me.
I'm always happy to discuss potential projects.

Back-end and front-end

When I made my first website in 1996, Server Side Includes and Perl CGI programming were the names of the game. JavaScript had only just appeared at Netscape, and the <blink> tag looked rather appealing. Most of anything had to be done on the back-end.

Now my work involves JavaScript meta-languages, JSON APIs, Websockets, and Backends-as-a-Service. The result is that I am equally well versed in both front-end and back-end development, and I can fulfil both roles as required.

JavaScript or CoffeeScript?

JavaScript meta-languages, such as CoffeeScript, can be a contentious subject. Personally, I find CoffeeScript reduces both development time and bugs, but also adds a barrier to entry for future developers.

I therefore avoid CoffeeScript on legacy projects, projects where I may be simply ‘helping out’ for a while, or where the client has an objection. I may recommend CoffeeScript for projects that are standalone, short-lived, urgent, or on a tight budget.

In either case, I will always consult the client before making a choice.

My Secondary Skills

  • 70/100Backbone.js
  • 65/100Spine
  • 70/100Facebook
  • 80/100Retina graphics
  • 65/100Postgres
  • 80/100Git
  • 65/100User Experience
  • 80/100CloudFront CDN
  • 85/100Page optimisation
  • 50/100Tornado
  • 70/100WebSockets
  • 20/100Rails
  • 85/100Redis
  • 60/100Online payments
  • 60/100Twitter API
  • 65/100Twilio
  • 80/100PHP
  • 80/100MySQL
  • 40/100Sphinx
  • 20/100Hadoop
  • 50/100Wordpress
  • 50/100MODx
  • 60/100Cushy CMS
  • 80/100Web startups
  • 45/100Carpentry
  • 75/100Motorbiking
  • 80/100Trebuchets
  • 90/100Random adventures

Education

University of Warwick

Computer Systems Engineering (BEng)

2003-2006

My final-year thesis employed genetic algorithms and genetic programming in the development of an artificial intelligence system. This artificial intelligence system was applied in a virtual gaming environment where virtual robots learnt to play a tactical game.

Sir John Deane's College

Computing, Maths, Physics, Art

2001-2003

My A-levels gave me a grounding for my current work. I feel the addition of an Art AS-level rounded off the sciences quite nicely.

Contact

Contact info

  • Email: adam@this_domain
  • Twitter: @adamcharnock
  • Skype: playnicelyadam
  • RSA Public key:
  • GPG Public key:
I live in North West London, not far from Shepherds Bush. I'm equally happy to work on-site or from home. The former is often great for shorter or more involved work, the latter sometimes better for concentrating on larger projects.

Also, working on-site is a great excuse for a motorbike ride...