Implementing error detection on the tasks was quite difficult. A lot of the tasks will trigger other tasks, for example a scroll (swipe) will at times trigger a fling. So I had to experiment to see which type of gestures can be detected while not interfering with the current task.
The timer setting was tough to setup solely because there is a number of different scenarios that can cause the timer to reset, decrease, etc. Keeping track of every scenario from in the code was a bit difficult at times.
Detecting a shake was the task that I had the most trouble implementing, finding the correct sensitivity took the most time.
The Scores List was not too complicated to implement but it was a challenge to order them numerically and be able to delete scores from the list.
The API that was used was Speech to Text, it was the only API i could find that could provide a task that did not feel out of place. I tried to use it such that the user has to say a certain word and then STT should recognize this word. However, it was quite difficult to do this because the array text from STT is constantly changing. As I have it now, it will complete the task as long as the speech is recognized as an English word.