When I first read about FT8, I immediately started looking at the code to see how simple it would be to handle more meaningful conversations. Fortunately I stumbled onto this video from Jordan Sherer: https://youtu.be/mZKhVcFOljY He had done all the work for me in JS8Call: https://bitbucket.org/widefido/js8call/
If you want to skip the video, the design document gives a nice overview of the protocol: https://github.com/jsherer/ft8call