I’ve created a monster. It’s a simple webpage that shows you the best moves in Words With Friends¬†and where to play them. I initially wrote it in JavaScript, but that approach had the major downside of forcing the client to download a 3 megabyte (uncompressed) JavaScript file containing the dictionary in trie format.

After travelling Europe this summer, I sat down at my laptop and ported the code to Node.JS. This is good because my Node process only needs to load the dictionary into memory once and can cache queries run against the trie. The scoring algorithm is accurate but very infrequently is off by 1 point – a bug that I’m trying to hunt.

Filling out the board involves typing your letters into the board. I’ve tried to ease the interaction of inputting letters by auto-advancing the board the editor based on your direction, but I think it’s being a little bit too aggressive right now. I may wait until the editor is advanced two spaces in the same direction before auto advancing.

Backspacing should probably reverse the auto-advancing direction on the first backspace, and then maintain its direction on successive hits. Typing a letter after a succession of backspaces might be a good trigger to reverse direction again, but I’m not totally sold on the idea.

Anyway, go cheat and find the best moves in your Words With Friends games.

The Words With Friends solver in action.

The Words With Friends solver in action.