Scrabbly Devlog
What I built
Scrabbly is a command-line app for practicing Scrabble. It scores words, checks them against Collins Scrabble Words 2019 (about 279,000 words), and drills 2- and 3-letter words by starting letter. It can find every word hiding in a rack of tiles, blanks included, and it has a game where you draw 7 tiles from a real 100-tile bag and get three guesses at the highest-scoring word. I started it because I wanted to learn the two-letter words without flashcards.
What I learned during this project
- I can just use a Set to validate words. I thought I had to make an algorithm which I now realized was dumb.
- Keep functions that compute separate from functions that print. findWords was written for find, and the Master Word game reused it unchanged to work out each round’s answer.
- Anything that waits for the user (menus, typed answers) has to be async.
Something that surprised me
I wrote the full dictionary to load lazily because I assumed 279,000 words would be slow. I finally timed it: a fraction of a second. The part that felt slow was my own title animation, which sits on screen for 2.5 seconds on purpose. I kept the lazy loading, but I’ll measure first next time.
Coming soon
- scrabbly info: rules, history, tips and tricks, letter points, word lists
- scrabbly define [word]: look up what a word means
- scrabbly favorite [word]: save words you want to remember
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.