I’m a creative web application developer with twenty years’ experience working for digital agencies and publishing houses in London and Brighton.

About

I build beautiful, user friendly, feature-rich desktop and mobile web apps. I’ve worked on projects for the BBC, Saatchi & Saatchi, EDF, Diageo, The Daily Telegraph, Sony, Ford, BT and the House of Windsor. I like to push browsers to the limit, often using new technologies like Web Audio, Web Components and WebVR in my work.

I am available for freelance and contract projects, working in-house or remotely. Please get in touch if you would like to work with me.

Contact

Email
rich_ma_lingATrichplastow.com
LinkedIn
richardplastow
GitHub
richplastow
Twitter
@RichPlastow

Skills

Frameworks
WordPress, Meteor, Phaser, Bootstrap, Foundation, Vue, Redux, React, and Angular
Libraries
Excellent with jQuery, Three.js, A-Frame and Node. Some Underscore, Gulp and Chai
Languages
Fluent in JavaScript, HTML, CSS and PHP. Some SQL, C#, TypeScript and shell script
Software
Expert in Atom, Animate (Flash), Photoshop, InDesign and Illustrator. Some Unity
Degree
BA (Hons) Graphic Communication with Painting and Photography
Other skills
Professional experience in photography and retouching, illustration and icon design, sub-editing and proofreading, motion graphics, 3D design, Balsamiq and UX Design

Web apps

‘LogoJen’, an easy to use logo idea generator, built with Bootstrap, Redux and React
Bar Sim Game, a multiplayer 3D financial simulation for Diageo, in ES6 and Three.js
Animated interactive 3D guide with minigames for EDF, built in TypeScript and Angular
Cell Survivor, an educational game for AIDS Alliance, using CoffeeScript and Phaser
Looptopia, a 3D landscape where users create music collaboratively, built in Meteor
Dream Vacation for US travel agent RCI, using Node and a Mongo database
Drag-and-drop email composer for web-marketers SmartFocus, based on WordPress
Suite of multilingual data-capture iPad apps for Winsor & Newton, with PHP backend
In-store touchscreen catalogue for footwear brand Kurt Geiger, built in ActionScript
‘Smarter Living’, a lifestyle and pension calculator for Zurich Insurance, using jQuery
‘Preview’, a magazine and e-zine with embedded video for Blockbuster, built in Flash
‘Body Shape Challenge’, a browser game for New Look, shortlisted for an APA Award

Websites

A WooCommerce site where customers create custom books, and then the backend generates press-ready PDFs and FTPs them to a print-on-demand service
A Digital Asset Management theme which automatically captures media metadata
‘Don’t Quote Me’, a shareable random quote generator built for Tesco and Blinkbox
Lookabout, a plugin where 3D portraits in a gallery respond to cursor movement
Site with innovative page transition system for property company Thackeray Estates
Broo, a custom WordPress theme and plugins based on Bootstrap, for fashion commentator Caryn Franklin and childrens’ charity Arms Around The Child
Promotional microsite with HTML5 animations for the Ford B-Max launch campaign
E-commerce site for London hi-fi retailer Audio Gold, in WordPress and WooCommerce
Custom site design and build for fashion label Mark Fast, using a bespoke PHP CMS
Site with custom event-listing for London music venue Green Note, using Joomla

Graphic design

Brand redesign for GVA, the UK’s largest independent commercial property agency
Visual identity and brand guidelines for MSK, Japan’s largest photovoltaics specialist
Design of award-winning customer magazines for Britannia, Land Rover and Volvo
Template design for a major brand refresh of Radio Times at BBC Worldwide
Won an award for brand development of the Skytours brochure at Thomson Holidays

Clients

Case Study

Bar Sim Game

Client
Diageo
Launched
Skills

This multiplayer HTML5 serious game combines a custom 3D framework with an advanced business simulation, to provide a fun and social learning tool for Diageo staff.

Bar Sim Game was designed to reinforce learning during a two-day training course. It’s played by four teams of three people, where each team has a laptop and controls the marketing budget of a simulated bar. The goal is to maximise end-of-year profit, with help from a facilitator who can monitor their progress in real time.

An outline for the game mechanic and learning objectives had been agreed before I came on board. I produced a detailed functional spec and wireframes, wrote all of the code, and worked with the client’s art director on graphic design and photography.

I created a custom framework on top of Three.js, which allowed us to create the 3D bar scene very quickly, and add real photos of Diageo’s staff drinking at the bar! I also built a custom business simulation, which models bar staff and customer behavior, footfall and stock levels, to realistically calculate sales and profit.

Developed during this project

Flatland
For high performance animated 3D scenes, with optional physics, shadows and focus
Simulation
Each minute is simulated, using a repeatable sequence of seeded random numbers
Dumpsta
An ASCII interface helps visualise and balance the game’s simulation dynamically
Zipgrade
Automated deployment to staging and production servers, using GitHub webhooks
Oomake
Transpilation, concatenation and minification of JavaScript ES6 source code
ES-Switch
Switch between source ES6, concatenated ES6, transpiled ES5 and minified ES5
Case Study

Cell Survivor

Client
AIDS Alliance
Launched
Skills

Cell Survivor is a retro-style online game. It’s fun to play but also carries a serious message, and has helped to raise awareness of HIV among young people around the world.

Brighton-based charity AIDS Alliance needed an impactful, social media savvy way of reaching teenage boys, as part of their campaign for World AIDS Day.

I was given complete creative freedom but limited time and budget. I devised a simple but unique game mechanic, inspired by the body’s immune-defence system, and went on to design and build a game which balances education and entertainment.

In Cell Survivor you play a cell nucleus which can defend itself from HIV and other infections using condoms and antiretroviral pills. Each level introduces a new defensive technique, applicable in the game and also the real world.

Project lifecycle

Pitch
I put together the pitch, including PSD mockups and target audience analysis
Mechanic
A unique circular take on ‘Breakout’, inspired by receptors on a white blood cell wall
Artwork
I used Photoshop to create all sprites and graphic elements from scratch
Brand
Re-imagined the client’s brand as a 1980s arcade title, like Konami or Atari
Balance
Weighted each level to keep it challenging without alienating inexperienced players
Maintenance
I run and maintain the ‘high scores’ server, and test the game on a monthly basis

Maximum reach

Responsive
Icons position themselves depending on landscape or portrait orientation
Multilingual
Uses Google Translate to switch between 100 languages, from Albanian to Zulu
Browser
Tested on IE11, Edge 13+, Firefox 12+, Chrome 15+, Opera 15+, Safari 6+
Platform
Tested on Windows XP+, OS X 10.6+, Android 4.4+, iOS 4+
Case Study

Looptopia

Client
Loop.Coop
Launched
Skills

Launched at Brighton Digital Festival, Looptopia combines a range of new technologies including WebGL, WebSockets and Web Audio to deliver otherworldly musical experiences.

Looptopia is a strange and beautiful web app where you can sculpt music visually, jam in real time with other users, and immerse yourself in a vast 3D soundscape.

This project provided a unique opportunity to explore cutting edge web technologies on the server and in the browser. The Meteor framework allows thousands of users to collaborate on a shared collection of documents, with live push-updates to clientside HTML when data changes. X3D uses an HTML-like syntax to represent a 3D scene. By hooking X3D up to Meteor, I was able to create a reactive multi user environment which can scale without losing performance.

App architecture

Server
The backend is written in JavaScript, running on a Node server
Database
Data is stored as JSON objects in Mongo, a high-performance NoSQL database
Meteor
Much code actually runs on server and client, with communication via WebSockets
Packages
Looptopia uses Iron Router, X3DOM, Moment and many more NPM packages
X3DOM
A JavaScript implementation of X3D, the W3C’s successor to VRML

Special features

Interactive
Elements in the 3D scene react to user activity by animating and playing music
Collaborate
Users can modify the 3D world, and modifications are immediately seen by all users
Generative
The 3D landscape evolves according to a semi-random algorithm
Archived
All modifications are permanently recorded, for ‘undo’ history and audit trail
Case Study

Dream Vacation

Client
RCI
Launched
Skills

A web app I built with Node, Mongo and JQuery which was the centerpiece of a ten week promotional campaign. By the end, 150,000 users had registered and designed a dream holiday.

To celebrate their 40th anniversary, US travel agent RCI ran a competition over ten weeks and gave away 40 holidays. Users were encouraged to invite thier friends to enter the competition using in-app Facebook, Twitter, and Email integrations. The app tracked each invitation, and rewarded users when one of thier invitees registered.

I was provided with wireframes, artwork and a functional spec. I built and deployed the app, tuned its performance during the campaign, and compiled analytics results.

App architecture

Server
The backend’s written in JavaScript, running on a Node HTTPS server on a CentOS box
Database
Data is stored as JSON objects in Mongo, a high-performance NoSQL database
Router
Advanced server-side routing and request handling is provided by Express
Templating
The app uses Mustache, a template syntax for injecting content into static HTML

External APIs

Facebook
Facebook’s Graph API is used to send invitation messages to users’ Facebook friends
Twitter
Users can tweet an invitation on their Twitter feed at the click of a button
Email
The app uses the Nodemailer package to send invitations to users’ email contacts
Promotion
A service called HelloWorld records competition entries over a secure connection
Feedback
Comments and customer satifaction scores are collected from an OpinionLab popup
Analytics
App usage is tracked with micro-conversion tracking tags and Google Analytics
Case Study

Broo

Client
Arms Around The Child
Launched
Skills

I developed a suite of custom WordPress plugins, along with a custom WordPress theme based on Bootstrap, to create this lightweight, easy-to-update, responsive website.

Arms Around The Child raises funds for projects in India and Africa to help lift children out of poverty. Analytics indicated that donations at armsaroundthechild.org were increasingly being made using tablets and mobile devices, so we chose to rebuild the site from the ground up, using responsive techniques.

The Creative Director at Kandi Media designed the new site, providing visuals in PDF format. I reworked the visuals for three screen widths: desktop, tablet, and mobile. From these I built ‘broo-aatc’, a WordPress child theme which extends ‘broo-base’, a general purpose parent theme I had developed in early 2013.

Developed during this project

BrooLang
Language and locale tools, for maintaining US and UK versions of the site
BrooShare
Dynamic social media buttons, including Facebook Like and Twitter Tweet
BrooSlide
An image slider based on Bootstrap’s carousel component
BrooMax
A modified Bootstrap carousel which dynamically fills all available window space
BrooPop
A variable-column gallery with popup Bootstrap modal dialogs

Best practice

Future Proof
Extensive use of plugin hooks for hassle-free WordPress upgrades
Clean Code
HTML, CSS and JavaScript source files are properly indented and well commented
Compatibility
Tested on all modern browsers and devices
Accessibility
Includes CSS for screen readers and visually impaired users