stardance has been extended another month! the new deadline is october 31 :)

You are browsing as a guest. Sign up (or log in) to start making projects!

3h 22m 14s logged

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
0
15

Comments 0

No comments yet. Be the first!