Paul Jones

Full Stack Developer

Providing technology solutions to solve problems, reduce your workload and simplify life.

I can usually be found in front of a computer creating digital solutions, behind a camera capturing moments, playing my guitar or enjoying our family.

Portfolio

Visual Portfolio, Posts & Image Gallery for WordPress

judge_screen_mock

NODEJS / REACT / REDUX / SOCKET.IO / FIRESTORE / DOCKER / GOOGLE CLOUD

NZIPP Iris Awards Judging Admin & App

The Challenge

The New Zealand Institute of Professional Photography (NZIPP) run a live judging event each year where in excess of 1400 images are judged by 40 judges over 3 days. Their legacy system had become uneconomical to upgrade to suit their new requirements, as well as looking very dated being run on old technology that was unable to be ported to mobile devices. The collation of their results had recently been moved to Google Sheets, which was providing a stable base for the system, but it was not suitable for use by the judges, as well as being time consuming to set up each year.

The Honours team, who oversee the running of the awards, needed an admin system to prepare for the judging (including importing the entries/images that would be judged during the event), collate the results in real-time to enable them to run finals judging for 20+ sub-categories, and export the final results and images ready for a public exhibition during the event.

The judges required a reliable and intuitive system that they would be able to sit down and use at the live judging event with minimal training. The awards are run over long hours so a specific emphasis was placed on the system being easy on the eyes and with complete protection against user error.

With the recent move to 3 judging rooms, having 5 judges in each room, the system needed to be bullet-proof for the current awards as well as providing a solid platform which could handle future development.

The Solution

  • Modern Dockerized Node.js Server providing RESTful API for the admin and Socket.IO connection for the judging consoles
  • Hosted on Google Compute Engine VM Instances
  • Google Firestore + Cloud Storage for data/image storage
  • Redis caching of results + Bull Queue for processing of images and creation of judging sheets
  • Judging Application built as a React Web App - using Socket.IO for reliable, real-time feedback from the server
  • Admininstration Dashboard built as a React Web App - using Redux Toolkit (RTK Query)

ChunkyLlamaStudios

REACT / TYPESCRIPT / PHP / MYSQL / DROPBOX API

Chunky Llama Studios

The Challenge

Chunky Llama Studios is a high volume photographic studio capturing images of children, families and pets. Because of the high number of customers a solution needed to be provided to allow simple and flexible creation of different types of sessions as well as a customer management and image delivery system with minimal administration and maximum automation.

The Solution

  • Develop a user-friendly Booking Calendar with React/Typescript and a WordPress based management system to automatically handle large quantities of studio bookings with minimal admin.
  • Automatic delivery of images to customers via a custom web gallery with automatic upload of high resolution images to Dropbox using the Dropbox API
  • Booking Calender integrated with WooCommerce for order management and reporting.

CuriousCove

PHP / MYSQL / JAVASCRIPT / WORDPRESS

Curious Cove Camp Management

  • Camp website, booking and management system
  • Back-end design and development - created as a WordPress Plugin for ease of management by the client

IsraeliHostingHome

PHP / MYSQL / JAVASCRIPT / WORDPRESS / RTL

International Travel Network

  • Develop Hebrew RTL site with English host information
  • Admin management of hosts developed
  • Dynamic Google Maps integration with address obfuscation

JessicaJonesHome

PHP / MYSQL / JAVASCRIPT

Jessica Jones Photography

  • Develop a fast responsive client image gallery to host thousands of images for wedding customers
  • Add custom image labelling and filtering to simplify selection of images
  • Develop an app to download the images to the device for online and offline viewing