Joel Vardy

Need a Web Developer? Get in touch!

Projects

Below are some of the projects I have been involved in, if you would like a full CV please get in touch.

SMRS

Centre Screen

  • Project Type: Contract Work
  • Website: centrescreen.co.uk
  • Date: September 2015 - October 2015

I was asked to rebuild Centre Screen's existing website using WordPress, while at the same time making some design changes to improve UX.

During the development I took the existing fixed width design and made it responsive.

SMRS

SMRS

  • Project Type: Contract Work
  • Website: smrs.co.uk
  • Date: December 2013 - August 2015

SMRS is an advertising recruitment agency, for me this meant building websites which informed the user about a company they may be interested in applying for.

My role at SMRS included; planning, development, deployment, and maintenance for a range of web projects including some large names such as easyJet, Thomas Cook, and The Co-operative Bank. I was also mentoring a junior front end developer, and assisting the company drawing up SOPs.

Highland Webcams

Highland Webcams

  • Project Type: Side Project
  • Website: highland-webcams.com
  • Date: August 2011 - September 2011 & March 2013 & April 2015

There are several live webcam feeds from which a still is taken and archived, this archive can then be accessed by users through the website.

Some of the challenges I faced with this project are:

  • Archiving according to a unique schedule for each feed, some update every minute, 24 hours a day, some only for a few hours each day.
  • Handling slow downloads.
  • Unreliable webcam feeds, resulting in either images not being updated, or being corrupted.
  • Having to be as efficient as possible, and ensuring the archive is fast.

The archive has several million images archived, which is around 200GB stored on Amazon S3 (distributed through Cloud Front.)

This has been a side project I've been maintaining and updating for several years, over that time there have been many iterations. Most recently I rebuilt the website using Lumen by Laravel as I wanted to test the framework out.

Notes App

Notes App

  • Project Type: Side Project
  • Website: notes.mx (website taken offline)
  • Date: January 2013 - February 2013 & April 2015

I relocated to Liverpool to work at Lucid Games and I had spare time in the evenings, I wanted to reinforce my objective oriented JavaScript knowledge and try Laravel 4. So I wrote a simple note taking app, I made this a little more unique by adding client side encryption to the notes, meaning they the encryption key is only stored on the clients browser, and it is not possible to read the contents of the notes on the server.

In 2015 I made a series of changes including; adding PHPUnit tests for the API endpoints, and moving from custom JavaScript to using AngularJS.

You can view the source, and look at the API documentation on GitHub.

Chatting

Chatting

  • Project Type: Side Project
  • Website: chatting.im (website taken offline)
  • Date: April 2013 (major refactor in March 2015)

As one of the first things I built with node.js I kept it simple, but added a twist to the standard "messaging system" by encrypting all messages locally in the users browser. The encryption key is stored in the URL hash so by sharing the URL with friends you can securely send messages, but the encryption key is never sent to the server / seen by the network.

I have refactored this project several times:

  • I moved from EJS templates to and from my own custom routing to using page.js.
  • I decided to try ES6 modules / classes and use Ractive for templating.

If you would like to see how I have built the website, please review the the source code on GitHub.

Lucid Games

Lucid Games

  • Project Type: Contract Work
  • Date: October 2012 - June 2013

My time at Lucid Games was spent working on a multiplayer iOS racing game called 2K Drive.

Initially I was working on writing and maintaining object oriented JavaScript which is used in most of the game interfaces. I learnt a lot working in a JavaScript codebase this large, and doing so lead me to writing my own JavaScript / node.js applications.

As time went on I took up a consultant role focused on the server side code, I was working on stability, and implementing new API features for the game.

Trails

Trails

  • Project Type: Side Project
  • Website: trail.sx (website taken offline)
  • Date: March 2014

I'd had an idea for a few years that I could built something to map multiple bike rides and geolocated photos onto a single map.

However it was after walking a few hills in Scotland that I was sat in a Café, and decided I could quickly knock something together, what I came up with only plotted GPX files onto a Google Map.

A few days later I decided to move it to it's own domain, and allow other people to use it, I also added the ability to plot photos onto the map.

Libraries

Note: these libraries were written a number of years ago and are not a true reflection of my abilities.

Of course I have written many libraries being a developer, a few of them I thought were universal enough to be useful for other developers.

I've also put some small utility libraries on Packagist.

CodeIgniter Authentication Library

I had built a few very simple projects using CodeIgniter when I decided to create my own authentication library, where full blown access control lists aren't required, or where you want the authentication library to use an existing users table. It is well commented, and uses a very secure hashing algorithm. Take a look at GitHub for the source code.

Authentication Library

A year after developing the CodeIgniter authentication library, I re-wrote it as a Composer package which would be framework agnostic, feel free to view the source code.

RESTful Routing

a simple routing library which allows you to write RESTful perfect for APIs - I have used this on several projects (including on this website) and decided to open source the code and add it to Packagist.

Fish in a Bottle

Fish in a Bottle

  • Project Type: Contract Work
  • Website: iggy.net
  • Date: April 2012 - October 2012

I relocated to Leamington Spa to work for Fish in a Bottle where I was involved in developing a social network called IGGY, a website which is aimed at gifted 13 to 19 year olds, the website gives them a place to discuss and debate with intellectual peers, gain guidance from university student mentors, and participate in projects and competitions.

Myself and two other developers saw the project through from planning to conclusion, using PyroCMS (built with CodeIgniter) and LESS for CSS preprocessing.