One of my favourite daytime tv shows is Countdown. When I was younger and growing up, my dad used to watch it. Now, my three year old son watches it with me and each time I put the show on, he says to me "I love Countdown".

I chose this project due to its straightforwardness but also because of the variety of minor challenges it presented. Some of the challenges included the design decisions that needed to be made both to UI, as well as decisions that needed to be made with regards to how the application was composed.


A configuration of Vowels and Consonants respectfully are combined and then shuffled a random number of times, just like on the popular tv game show. When a vowel or consonant is then selected it is then removed from the available vowel or consonant selection and added to the selected letters.

It was decided that because the vowel and consonant selection states are tied together with the selected letters state, Reacts useReducer hook would be best suited for handling changes to their states.

A binary search is performed to verify a valid word and to return a list of results of all possible words found within the dictionary I have used for this project.

To tackle a delay noticed when requesting the results, a WebWorker was added so that this could be run on another thread.

In the coming weeks I hope to write about this project more extensively so as to provide something useful for others who may find what I have learned during this projects development useful.

What's Next

  • Accessibility improvements
  • Mobile UI improvements needed
  • A page for the conundrum
  • Implementing the numbers game
  • Further refactoring