Harvee

Philipp’s Playground in the Cloud

24 Feb 2022

Challenge App and Gamification

Recently I wrote about the latest evolution of the app I was working on here. The idea of tha app was to motivate my family members to become more active (by going outside and talking walks and even making it a competition). As stated I was changing a few technical bits of the app architecture to become more agile when it comes to introducing new features and to be more cost efficient. As also said the integration of Twilio into the first version of the app had given us valuable messaging features which allowed us to really introduce this concept of gamification - something we missed in the second iteration of the app.

Therefore I decided to revive my Twilio account in order to get some SMS’es flowing. I was quite pleased to see that there is a default outbound binding for Azure Functions available now. This means that sending out messages as a result of the Azure Function invocation has become really easy. An implicit reference to a Twilio client object is made available within my function and one just needs to configure API credentials in order to start sending. Sending multiple SMS’es from a single function invocation looked like an issue at first but could be solved quite easily by going through a queue on the Azure side first before sending out the messages.

At the moment I have defined a “motivation” function that will check the activity performed for the day so far to then send out a quote that will motivate the user to stay active. Somebody might find out that way that they have not beend active at all so far and might get that final push to do something about it.

I have received more feature requests around gamification however since. E.g. one user wants to be informed if another user just collected a lot of (activity) steps. This would motivate the user to try and compete.

At the end it all comes down to letting people know how others are doing within the challenge and messaging and with that Twilio remains an important piece of the puzzle here. But messaging comes with a price as I learned from the initial iteration of the app. Besides the actual costs the integration of messaging technology like Whatsapp can be quite complex (considering one has to enter a contract with the company behind Whatsapp). These are some of (non-technical) challenges I am busy solving at the moment, I will let you know how it goes.