Recent Blog posts
Bayesian Rack Inference in Macondo: Teaching a Scrabble Bot to Read Minds
Sunday, Apr 26, 2026
How we implemented mathematically rigorous Bayesian inference in Macondo to let BestBot reason about its opponent’s rack, and why it only barely edges out going first.
read more
Why I didn't win the 2025 Scrabble Players Championship
Wednesday, Sep 3, 2025
A tournament report for the most prestigious NWL tournament of the year - the SPC 2025. Lessons learned and so forth, as well as a shameful (or shameless?) request for help.
read more
Beyond Leave Tables: A State-of-the-Art CNN Static Evaluator for Scrabble
Saturday, Jun 21, 2025
I’ve trained a convolutional neural network that beats our long-standing equity engine (HastyBot’s static evaluator) in direct play - 51.7 % win rate over 250K self-play games - making it, as far as we know, the strongest pure static evaluator in Scrabble today. In this post I walk through the feature set (board image, rack, bag, tempo, power-tile counts, more), the training pipeline, results, and why a value-only CNN is already changing how we build BestBot’s Monte Carlo search. Code, weights, and data scripts are all open-sourced for anyone who wants to tinker.
read more
More
WordVault - a new spaced repetition web app for learning words
How to unf*ck Arch Linux
Exhaustively solving Scrabble endgames using chess programming techniques
Se7en is a great film
All Blog posts