The Birth of Happi the chatbot (or how we built an AI colleague)

Adam Sandford
Mighty Sharp
Published in
5 min readMay 9, 2017

As anyone who has worked with us will know, we love building useful, data-driven products, especially if that means using some interesting tech long the way! We also like to blow off a little steam from time to time and do something fun as a team, that’s why when the subject of trying out some new tech to build on the team’s experience was raised, we decided to have a hack day (or two days really) and give it a go!

The first question was, ‘What to do?’. It was during this debate that the idea of a chatbot was raised and Designer Bhav piped up with the wonderful (and hilarious) example of Poncho, The Weather Cat. If you haven’t seen it before I would advise you to take a look. Poncho is really engaging and is a great example of a fun chatbot. Whilst Poncho is a lot of fun, we wanted to think about how this tech could be useful to our clients. That’s when our Digital Producer Jessica brought up the example of Macy’s ecommerce chatbot. Macy’s chatbot uses helpful and witty dialogue over Facebook messenger to create an enjoyable and unique shopping experience. You can find more info here.

Although we had no expectations of being able to produce something as complex and engaging as the Macy’s chatbot over a 2-day hack, we were certainly inspired to give it a go and create our very own chatbot… But what sort? We had plenty of ideas, some genuinely exciting and some downright weird. The one uniting factor was that it had to be something we could use to help improve our internal processes, as well as something we could all get involved with and learn from.

After some debate we decided to create a chatbot to replace our employee happiness log. We’ve been collecting volunteered information from the team over the last 2 years, in a Lean manner simply using Google Forms. It’s a great way to track employee happiness over a period of time, making it easier to spot when we need to review an element of our process. We thought that using a chatbot and NLP (natural language processing) to have a conversation with us every day would be a much more engaging way of gathering this data than the existing multiple choice form. Now with the project decided it was time to break into tech and conversation UI (user interface) teams.

The tech team were straight off the blocks at a run. Tony, being a tech guru to the point where one wonders if he’s 100% human or cyborg, knew straight away what technology we should use. Developers Matt and Tony started to experiment with API.AI (our chosen platform), including the testing of a nifty ‘Slack` (team messaging platform) integration we thought would be particularly useful. This testing may well have taken the form of programming a basic Slack integration to shout vaguely offensive yet light-hearted things about Designer Bhav; however, it was very useful for testing the integration and gave us some ideas for Happi (more on that later). Once the tech team had finished getting the lay of the land, they got to it setting up entities (in this case the moods that the bot might come across — happy, sad, okay etc.), synonyms, training the fledgling bot and then reviewing.

The UI team were equally quick to start, supplying the tech team with the basic conversation structure, then going back to build out the conversation and get to grips with the personality of the bot. The UI team consisted of Jessica, Bhav and myself. For anyone who has met us all, you will know that we have quite different personalities! This provided something of a challenge for us, as we all wanted something quite different! Bhav wanted a super friendly, nice-guy bot, Jessica wanted a bot who was a bit edgier and I wanted anything funny, whatever the cost in charm. It was then that we noticed the experiments of the tech team. The black humour seemed to strike a chord with all of us and so we decided that, somewhat ironically, Happi should be grumpy. Not all of the time, but like that grumpy friend that everyone has and loves. Like Jack Dee but made from code.

With the personality decided, and the (build and NLP optimisation) well underway, it fell to the UI team to think of every possible answer to the questions that Happi would ask. As you can imagine this was no mean feat! After a lifetime thinking of everything from very formal answers through to slang (mainly Irish slang since both Jessica and myself are from Northern Ireland), inputting the answers and then testing on Slack to make sure the conversation flowed correctly, we were now ready to go! We were all excited to welcome our newest team member, Happi! We talk to her at the end of every day. She’s engaging, typically friendly and occasionally a bit cheeky. For an example of the conversation see below!

adams [7:12 PM]

Hi

happiAPP [7:12 PM]

My friend, my buddy, my life. Oh wait, it’s you…

How are you feeling today?

adams [7:12 PM]

dreadful

happiAPP [7:13 PM]

Oh really? I once felt a bit unhappy too. Mind you, once I put my trousers back on I felt much better. Let’s hear it then. Do you wanna tell me what’s up?

adams [7:13 PM]

yes

happiAPP [7:13 PM]

Cool, go for it!

adams [7:13 PM]

I’m really busy writing a blog post about you and I’ve run out of chocolate digestive biscuits!

happiAPP [7:13 PM]

I’m overjoyed. Now go away!

adams [7:13 PM]

bye

happiAPP [7:13 PM]

Bye bye!

We’ve launched Happi internally fairly recently and have already seen a considerable increase in responses for the happiness log. We’ll be continuing to tweak and edit to increase Happi’s effectivity before looking to make it widely available to other businesses. We can’t wait to work with chatbots again; if you’re interested in creating a chatbot or you have another project in mind then get in touch with me on adam@mightysharp.co.uk.

Adam Sandford, Business Development Manager, Mighty Sharp

--

--

Adam Sandford
Mighty Sharp

#Tech #Startup guy, #silversmith, full service #digital @mightysharp , Player of the saw, owner of a bass guitar. Views=mine http://www.facebook.com/acolaust