- Project 1: Machine Learning Feedback Process
I created a machine learning process designed to enhance the relevancy of products shown to a user for a product recommendation advertising widget.
The context for this project was an advertising widget which recommended web site visitors the most contextually relevant products based on the page they are reading. The algorithm that implements this takes several seconds to complete so to enhance the user experience the result data was cached. So, which products should be shown for the first un-cached call? Before I implemented my machine learning feedback process the same default products were shown regardless of customer or web site. After it was implemented each customer was shown a continually updated, customized set of products based on historical activity data. The result was a marked increase in clickThrough rates.
Spring (Core, XD), MongoDB, RESTful web services, Caching (Ehcache and Redis), Groovy
- Project 2: Cloud Deployment Automation
I created a proof of concept to demonstrate that an existing risk calculation engine application could be deployed to the AWS cloud. In support of this task I created automated functional and load tests and an automated build, deployment and provisioning process using Bamboo, Chef, AWS CLI and bash shell script.
Amazon AWS (EC2, S3, Elastic Load Balancer, AutoScaling Groups, Launch Configurations), AWS CLI, Bamboo, Bash Shell Scripting, Chef, Java, Jmeter, Ruby, Spring.
- Project 3: High Throughput Cache System
I added functionality to a caching system which supports the contextual product recommendation of an advertising widget.
I added REST API end points to capture additional activity of users with a product recommendation widget (impression request, fulfilment, rejection, error, etc). This allowed analytics to be built on top of these to provide useful information for the business to analyse performance of the recommendation widget. I also built the analytics dashboard to display this information.
I added necessary configuration data such as the concept of a customer, retailer, index, tags, default products. This allowed the caching system to differentiate between users and communicate click activity to the product sellers enabling our company to monetise the product recommendations.
Spring (Core, Data), MongoDB, RESTful web services, caching (Ehcache and Redis).
- Project 4: Analytics Dashboard
I created a bespoke analytics dashboard to display real-time interaction with a product recommendation widget.
- Project 5: SOA Re-Architecture
Re-architecture programme to modernise Life Company IT infrastructure into an SOA model. Enhancements to existing and development of new Enterprise applications and their integrations.
As part of this programme I spent one month on-site in the US office to build relationships and kick off my aspect of the project in Belfast.
- I had full responsibility for Analysis, Design, Implementation, Testing and delivery for the integration of an Electronic Application system with the new architecture and the creation of three new services. IBM Websphere Integration Developer was used to develop these services and they were run on a Web Sphere Process Server Enterprise Service Bus.
- I analysed and designed the porting of an existing bespoke Java rules engine (which I originally wrote) into a Drools based implementation and then exposed the functionality as a SOAP web service to be available in the new SOA architecture. This decoupled the rules functionality into a service.
- I analysed and designed a replacement for our existing submission service to submit completed life insurance applications to downstream systems. This involved a complex data mapping between two different XSDs. It de-coupled an application specific piece of functionality into a service.
- I analysed and designed a service to update an agent facing application system with changes made in home office systems. This was a new piece of functionality that was required due to the new Service Oriented Architecture.