About

My Work

I specialise in developing an entire product, rather than just the code behind it. I assess competing requirements, help hone the core idea, and wireframe my proposed solution. I then apply my extensive development experience and industry standard tools to quickly develop a working product.

I am highly skilled in Django, Python, CSS & JavaScript. These tools let me develop products quickly and effectively.

I have also made extensive use of React.js where appropriate.

My Experience

I’ve been a freelance developer for 10 years, working with clients including Twitter, The New York Public Library, and the British Royal Navy.

Adam has shown great insight in understanding our business’ needs and helping us to understand what is both possible and feasible. He has always delivered excellent products with surprising speed.

Toby Hammond, Future Pump

My Process

Planning

Gather requirements and develop the initial concept

Wireframes

Fidelity can vary based on time constraints and budget

Development

Development is tightly focused on the client's actual needs

Maintenance

I can provide ongoing maintenance and development

Recent Projects

Future Pump

Data Analysis Platform

My task was to plan and develop a data analysis platform to ingest data produced by irrigation pumps deployed around the world. The platform had to scale with an exponentially increasing amount of data produced by their growing fleet of deployed devices.

Technologies: Django, Python, Postgres, Amazon Web Services

Twitter

Internal Product Development

A team within Twitter required several internal apps to assist in historical data analysis. My task was to gather requirements, wireframe, develop, and deploy these applications.

The client chose me for my holistic product-based approach. I was able to move from brief to final product while working quickly and effectively within a large company.

Technologies: Django, Flask, Python, JavaScript, React.js, GraphQL

Nomadic

E-learning Content Management System

Nomadic required a custom Content Management System (CMS) for their network of content producers. These users needed to not only create and modify new courses, but to deploy specific versions of courses and ‘fork’ existing ones. 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. My initial task was to coordinate the refactoring of the existing codebase to prepare for the substantial development work required. I coordinated with UX and design team members regarding the new CMS’ interface. I additionally architected a new scaleable infrastructure based on Amazon Web Services.

Technologies: Python, Pyramid, JavaScript, Real-time, WebSockets, Amazon Web Services, Fabric

This Is On

Social Event Discovery Application

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.

Technologies: Django, Python, RESTful API, Amazon Web Services, payments

Kia / The Telegraph

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.

Technologies: JavaScript, HTML5, animation, retina graphics

Lions Rugby Team

Lions Rugby Facebook App

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 API deployed on Heroku.

Technologies: JavaScript, Facebook, audio, animation, Django, REST, Heroku

PlayNice.ly

Startup Founder

PlayNice.ly was a startup of 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.

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

North Face

North Face Jacket Finder

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.

Technologies: JavaScript, HTML, SASS

New York Public Library

New York Public Library “Find the Future” Game

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, The LA Times, CNET, and 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.

Technologies: JavaScript, backbone.js

Super Better

Super Better, Startup

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.

Technologies: JavaScript, backbone.js

Lucky Voice

Lucky Voice 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.

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

Power Predictor

Data Analysis and Reporting

PowerPredictor allowed people to make informed decisions regarding their home’s potential for renewable energy generation. Each PowerPredictor device collected thousands of data points that were used to produce a personalised report for each customer.

I worked with PowerPredictor as their lead developer for the three years following its inception. I created the first minimum viable product (MVP) 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.

Technologies: PHP, JavaScript, Amazon Web Services