PORTFOLIO

I have been working commercially in Web Development since mid 2005, and have worked on a number of private projects, as well as those directly related to my work.

Quick links to key sections of the portfolio:
Wu-wo Insuredrisks Chemical Records Personal Websites

The Wu-wo partnership

Core technologies:
PHP5 - Drupal - Java - MySQL - JBoss

My work at Wu-wo has been largely focused on developing complex online platforms in PHP5, using Drupal 6. This has been developed both through the migration of the companies existing Java applications to PHP, and developing new on-line products in Drupal.

The Corkingcover index page Corkingcover index Click image to enlarge

The first project I undertook at Wu-wo was their online insurance system. I used my previous knowledge and expertise in this area to help design and wireframe a new platform. It is based on an existing Java OpenQuote engine, and Drupal 6. The two were combined by implementing a WSRP portal in the Drupal front end that allows the user to seamlessly interact with the quote engine, from within the Drupal front-end. Intellegent use of CSS between the OpenQuote renderer and Drupal themes makes this setup even easier to maintain.

The insurance solution houses a wide range of functionality, involving the creation of dozens of custom Drupal modules, whilst also making use of many of the key conrib modules such as CCK, Views, Ubercart, ImageCache, Mail and NiceMenus (ad infinitum).

The other major platform supported by the Wu-wo partnership is it's logistics and utilities management system. This is currently in use by a number of major logistics companies and national water boards. Plans are in place to roll it out to electric and gas companies too, whilst also encompassing ever wider functionality, allowing this one system to effectivly manage all the product and work requirements from one place.

Teamworks Tendering Click image to enlarge

The existing platform for this is called Teamworks and is written in Java, with IceFaces and Hibernate supporting the front and back ends. It is the second generation of this application by the company, and has been in place for about 5 years. As the utilities industry changes its working practises it has become necessary to launch a third iteration of this project, which is called "Teamworks Tendering" and it is this application that I have spent the last year developing.

Teamworks Tendering is also a Drupal 6 project, again using a vast array of existing contrib modules, as well as having a huge core of custom code, generated almost exclusivly by myself, to offer the powerful work and invoice management suite that it does. I have worked closely with the management and staff at the water boards and logistics companies to design this product.

Insuredrisks limited

Core technologies:
Java - MySQL - Tomcat 5.5 - Struts - Tiles - JSP - (X)HTML

The Insuredrisks website is a complex online insurance system, bristling with functionality. The backend consists of around 1200 Java files, including a bespoke persistance layer, and complex custom APIs for a number of concepts such as advanced Date and String functionality. It's backed by a MySQL database of some 200+ tables, and over 3Gb of keyed and indexed data.

The Insuredrisks index page Insuredrisks index Click image to enlarge

The front end uses JSPs, organised by the Tiles framework. They are rendered by Apache on our live servers, with a MOD_JK connector using the AJP protocol to ease the load on Tomcat, improving performance of the heavyweight insurance calculations and other processes.

The website takes SME business insurance customers from a bespoke quote, to an immediatly active insurance policy, complete with instantly e-mailed insurance certificates and offers a number of payment options. The system generates quotes using it's own quote engine, driven by prices from the local database, and then returns the cheapest/most suitable quote to the customer. Customers can then go through to purchase their insurance, or return at a later date to take it up. The system includes a back-end sales platform too, which allows call center staff to monitor site activity and respond to customer requests for alterations, cancellations and renewals.

The payment methods available are both implementations of direct payment models, which use SOAP to securly exchange XML documents with third party payment servers, and then act accordingly. I've been heavily involved in writing two completely separate credit card processing sub-systems, for RBS Streamline and Barclays ePDQ, I also had to design and implement 3D secure protocols on both these platforms.

Insurance certificates and e-mails are instantly delivered to customers from the system via a custom SMTP e-mail factory built on the com.sun.mail.smtp API. The documents are generated using XSLT and components of the UJAC library. Automatically generated renewals, reminders and even SMS messages are all dispatched by the system on a variety of CRON tasks.

The system also has a custom persistance layer, which was being developed when I started work at Insuredrisks. It's a really nice, tidy API which perfectly handles the loading and storing of data. It was carefully designed to be reliable and expandable, and it's certainly stood the test of time. It was designed to be able to handle sudden surges of requests, which the system can trigger itself during the nightly renewal and reporting cycles.

Chemical Records

Core technologies:
Java - PostgreSQL - Jboss

The Chemical Records website is a complex, bespoke e-commerce platform, built on a PostgreSQL database. It deals with both unique in-house, and commercially branded clothing, as well as a vast cataloge of music, available as mail order vinyls and instantly deliverable MP3s.

The Chemical Records home page Insuredrisks index Click image to enlarge

The main aspect of the system I worked on was the "You Sell" project, which allows users to register, upload, price, manage and distribute MP3s to a worldwide audience, providing unsigned or unknown artists and DJs a platform through which they can sell their work. Upon registration, users are automatically given a customisable profile page, as well as a collection of links and banners for them to market their own work. Sales are handled entirely within the Chemical Records platform, and the majority of profit (minus a handling fee) is passed directly back to the artist on a monthly basis.

Personal Work

The Gryphon

Core technologies:
Drupal - PHP5 - MySQL - Apache
The Gryphon Website Click image to enlarge

The Gryphon is a new real ale and heavy metal pub in central Bristol. They approached me for a website at the end of 2010, and in a quick requirements gathering meeting, held at the pub itself, a design and technical spec was drawn up. I decided to develop the system in Drupal 6, allowing me to take advantage of Drupal's powerful multi-site abilities and re-theming so the system could easily be offered out to any other pubs or venues that liked it with a minimal cost of time to myself.

The key piece of functionality The Gryhpon pub requested was a managable archive of ales, alongside "on tap" and "coming soon" sections, so they could easily communicate and list the beers available. I used the CCK and Views modules of Drupal to generate a "Beer" content type, with a number of easily changable facets. This means the Landlord himself can log into the website and manage the list of "on tap" and "coming soon" beers. This obviously makes the site much more useful to the pub, frequently updated for the customer, and of minimal support for myself.

Personal hobby websites

Having the skills to quickly produce effective websites has lead to me being involved in a numbe of other website projects. The vast majority of these have been in PHP, but have developed my skills in design, HTML, CSS and Javascript along the way as well. SEO has become second nature to me, as has working to W3C standards. I take great pride in writing good, efficent websites, correctly structured, complient and portable.

beautifulpics.co.uk

Click image to enlarge
Simon Lawrence Photography

Click image to enlarge
srlawr.co.uk

Click image to enlarge
turnipwars.co.uk

Click image to enlarge
John Ashby Photography

Click image to enlarge
 

Page correct as of 14/02/2011