Design for Tension


Approaching sensitive topics is a task that needs to be executed in a very cautious manner. Specifically, challenging one’s core beliefs about a tense topic that they may feel strongly about requires patience and needs to be done with regard to the person’s emotions. This can often make humans uncomfortable, and if the two individuals feel strongly about the same topic, there is a potential that an argument might form. Therefore, the goal of this chat bot is for it to sensibly push anti-vaxxers out of their comfort zone by making them reevaluate their own stance on vaccines.

Creating the Flow

My role in this project was to help create the flows that the chat bot would be able to follow depending on the each user. I began by creating a rough flowchart of how the initial half of the conversation may unfold for the average user (see Figure 1).

Figure 1. Initial half of the chat bot’s flow.

In this first of these flows, I took into account if 1) the user was interested on talking to the chat bot at all, and 2) the user’s stance on vaccines.

This first rough implementation of the chat bot’s flow was tested by relatives of mine. The feedback I got from them was positive. However, they were also disappointed due to the bot’s limited functionality at the time. It was not until I met with my group that we got a full flowchart of the possible outcomes of the user’s conversation with our chat bot.

Figure 2. Expanding upon my initial flow with my group.

During our team meeting, we decided it would be a good idea to add another flow to the chat bot’s arsenal. We took into consideration a scenario where the user may become more open-minded as a result of our chat bot making them rethink their beliefs about vaccines (we called this “user reformed”). We then linked that flow and branched off the flow where the user starts off as an anti-vaxxer — this specific flow (“user anti-vaxxer”) can be experienced regardless of the initial flow that the bot makes the user follow.

Once everyone agreed with each different flow and the overall conversational path of our bot, we designed a full flowchart with the actual messages that would show on the screen as the user messages the bot, as shown in Figure 3 (this was achieved with

Figure 3. Color-coded flowchart of the flows implemented into our chat bot.

Our team member, Matt, then implemented this flowchart into our chat bot on Flow XO.


The overall feedback that we received on demo day was quite positive. We presented our testers with a fully working prototype, which they found to be effective at tackling our specific topic. Among the feedback that we got, one of the testers noted that the chat bot seemed to have a “personality”. This observation could be attributed to our use of emojis, and the friendly tone that our bot conveyed to the user throughout the conversation. Furthermore, one other user liked the human-like flow of the conversation. This was achieved by having 3 possible flows; the 2 initial ones depended on whether or not the user was an anti-vaxxer, and the third one was prompted if the user had changed their mind about vaxxines upon the end of the conversation. Testers also enjoyed how we broke up information into separate messages, instead of bombarding the user with one large block of text per interaction.

Figure 4. Testers using our chat bot prototype during demo day.

However, there were still changes to be made. The biggest change that needed to be done to the chat bot was adding some sort of transition between when the chat bot makes the user change flows (see Figures 5 and 6).

Figure 5. Change of flows from pro-vaccines to anti-vaccines (missing transition).
Figure 6. Change of flows from pro-vaccines to anti-vaccines (missing transition).

Additionally, 2 of our testers suggested we break up the latter part of the conversation to avoid rapid-fire messages, and therefore prevent the user from feeling overwhelmed (see Figures 7 and 8).

Figure 7. Closing conversation (rapid-fire messages).
Figure 8.Closing conversation (adequate messages).

Ultimately, the final suggestion that we got was to enable the user to type custom responses. However, we opted to not implement this feature because it would leave too much room for ambiguity in the user’s responses. For instance, if we asked the user their stance on vaccines, they could be pro-vaccines, but still reply with an answer that would include keywords that could very easily conflict with the one’s that we would search in the case the user was anti-vaccines (e.g. Of course! I don’t think vaccines are bad!) — thus, leading to an erroneous flow of the conversation.


Overall, according to our user feedback, we are confident that our chat bot was persuasive, yet respectful. All of our testers enjoyed our design and flow of our bot, and noted that if they were a real user, they would reconsider their beliefs on vaccines.