IBM Watson

IBM Watson Conversation is a cognitive service that enables users to build chatbots underpinned by Watson's natural language processing.

I am the lead user experience developer, providing mentoring, experience and guidance to a globally distributed team. While I have developed many aspects of the Conversation tooling, my main focus has been on the dialog builder. I work closely with the designers to create and continually improve the user experience.

The Watson Conversation dialog builder allows you to build structured conversation flows to determine the behaviour of the bot.

Cognitive demos

I have created a number of projects with Watson to demonstrate how to use the services. Here are a few:

Purple Brain

Chatting to Watson about song lyrics... I got Watson to read Prince's lyrics and then trained hi to answer questions about them.

Santa's Helper Twitter bot

This twitter bot uses Watson Conversation to understand what the user says, Watson Tone Analyzer to decide if they've been naughty or nice, and Watson Personality Insights to recommend Christmas presents.

@elfcheck bot checking if you are naughty or nice
@elfcheck bot receommending presents

Watson Adventure

This text adventure game was written entirely in Watson Conversation.

Watson adventure

Watson Adventure

This murder mystery game was a hackday project. It is uses 4 chatbots (3 suspects and 1 assistant) which all share a common context to track the story.

A cognitive mystery

IBM API Connect

IBM API Connect is an API management solution for creating, running, managing and securing APIs.

I was a user experience developer leading the creation of the managment console and the analytics capabilities, as well as building many other capabilities including the API Swagger editor.

The API Connect analytics provide insights into API usage.
The API Connect Swagger editor provides a more user friendly way to create and edit Swagger for APIs.

IBM Websphere Service Registry & Repository (WSRR)

IBM WSRR provides design-time and runtime service management of SOAP and REST.

I was the lead user experience developer building a new dashboard interface to enable users to better manage their services.

The WSRR overview page provides useful summary information.
The WSRR browse page provides detailed information on services.

IBM Strategy

I joined the IBM Strategy group to improve integration between products.

I was the lead developer of an internal tool designed to advise on product integration

I was a consultant developer on the Team Integrator for Eclipse based tools, providing expertise in Eclipse and internal tooling

I was the lead developer of Eclipse plug-in to integrate WebSphere MQ and CICS.

Eclipse Equinox

Lead developer of the OSGi resolver for Eclipse, including rapid prototyping against the RFC and feeding back into the specification.

Java platform

I worked on IBM's Java platform for several releases.

On Java 6.0, I was the lead tooling developer, designing and developing new process and tools to reduce 18 months of development effort to a few days.

On Java 5.0, I was the install lead, enabling new installation technology across 18 platforms.

On Java 1.4.1 and 1.4.2, I was the lead developer of class loading, resettable JVM and shared classes

On Java 1.3.1 and 1.4.0, I developed new functionality for resettable JVM and shared classes.


Personal website (2017)

The idea for this website was to create something that was more like a magazine article than a website. I also wanted to embed in a chatbot to answer questions. home page (2017)

Personal website (2016)

With this website I wanted something very minimal that was a launchpad to social media. Information was kept to a few key pieces with more information available on LinkedIn. home page (2016)


Website for a local architecture firm, designed to be very clean and minimal while showing services provided and previous work.