When I started off, I was neither familiar with React, nor with Firebase. Intuitively, I figured that these two technologies should work great together.
React removes the need to manually do UI bookkeeping. The DOM gets updated automatically, as the state of things change.
Firebase makes it easy to build distributed web applications. It also fits nicely with the reactive paradigm: all reads are handled asynchronously in callback functions.
It didn't take too long to beat the learning curves of both technologies and get a working prototype. I initially had a few race conditions, and it took a few hours to clean things up.
Note: using Firebase lets me host this app directly on github pages, which is nice. It however implies that anyone can cheat and modify random game data.
The interesting pieces of code are:
Check out the source code at: https://github.com/alokmenghrajani/alokmenghrajani.github.com/tree/master/react_tictactoe/