@futurebird
I wrote a scrabble game in PHP (which, to avoid trademark issues, was called 'Leonard Da Quirm's Making Words Out Of Letters That Have Been Jumbled Up Game' (or whatever the correct quote was). It stored the game state as a serialised object in the filesystem after each move, so it could then give you a view of the entire game history at the end.
It was way back in 2003, so used a table for the board, but used some nice CSS styling to make the tiles look like tiles. Each empty slot on the board was a text box, so you would enter each letter in the place you wanted to put it. Doing your move was a complete form submit, which then checked that the letters you'd placed were ones that existed and then grep'd for the word you found in a word list file. I used grep in a child process initially because it was easy, but it also turned out to be really fast so I never bothered to make it faster.
We played it quite a bit when I was a student. I probably have the code somewhere, but it's almost certainly totally awful in every possible way and not something anyone should ever look at.