Case Study

TipJar 2.0


Many companies have reward schemes for their employees. While I was working at Cohaesus, a technical partner for advertising and communication agencies, we used a points-based system called TipJar. The purpose of TipJar was to reinforce company values by encouraging employees to reward each other for demonstrating those values. For example, if Claire takes time out of her day to help Dave with a JavaScript bug he's been struggling with, he can give her points for demonstrating selflessness. After a period of time each employee would then receive a bonus based on the number of points they have accumulated.

In order to give points, an employee had to fill out a Google Form to specify who they wish to give the points to, how many points they wish to give, and for what reason. This information would then get stored in a Google spreadsheet. 

I was asked to design a mobile app for TipJar to replace the Google Form.


After conducting several user interviews with employees, I quickly discovered that only a handful of employees were actually using TipJar. There were some common pain points that repeatedly came up.

Firstly, the few employees who were making use of it were developers who worked in teams. Other employees who were not working in large teams, such as Business Development and HR, either assumed it was not for them or said they just didn't have the opportunity to make use of it.

In addition, the only way for the user to know if they had received any points was by manually checking the Google spreadsheet. This was defeating the purpose of the system. It is not rewarding if the user isn't aware they have been awarded anything. They would still receive a bonus for the points they accumulated but they would not know how they earned those points.

I also conducted some competitor analysis, initially looking at transaction-based mobile apps like PayPal. I specifically focused on features such as the ability to send and receive money, and how the user is notified of these transactions.

However, after further analysis, I realised that while a mobile app could solve the issue of notifying the user when they had received points, it was not necessarily addressing some of the deeper issues around user adoption and engagement. It also posed a new concern – the user would have to stop what they are doing, take out their phone, and open an app just to give someone a point. This would be more of a disruption to the user's workflow, rather than being integrated into it.

I concluded that a mobile app was not the way to go and began exploring alternative solutions.


During my research, I discovered a Slack integration called HeyTaco! It allows Slack users to give each other points in the form of taco emojis.


This seemed like the most elegant solution. However, HeyTaco only works with Slack and the company was not using Slack at the time.

I proposed that we build our own version of HeyTaco by integrating TipJar into the company's own instant messaging application, which all of the employees were already using in their day-to-day lives. The company's IM application was part of the employees' natural environment and an integral part of their daily workflow.

The proposal was presented in a company board meeting and was given the go-ahead.

Integrating TipJar into the IM app posed some fundamental changes in the way the points system worked. Not only did employees immediately know when they had been given points, they could also see whenever their colleagues had received points, who they had received the points from, and for what reason. All points were now awarded very publicly. This added a greater social element to the experience and within a matter of days user adoption and engagement had increased massively, even amongst the employees within Business Development and HR who did not work in large teams.

Next Steps

While the overall feedback was very positive, this change gave rise to a new pain point. When awarding a colleague with points, the user has to write the message in a very specific format:

/tipjar @recipient (emoji) for [company value]: "[reason]"

If the format of the message is not correct then the action fails and the points are not awarded. Many of the users expressed their frustration with this rigid format, which often results in several failed attempts before the message is successfully accepted.

One way to address this issue in the next iteration would be to incorporate natural language processing.