There were definitely some words in there which I had never heard even as a native English speaker. One suggestion I would make if the intent is to teach people a new language would be to limit the word list based on how commonly used the words are. I don't think it helps non-proficient speakers to learn extremely obscure words that nobody uses.
You could make it so that the X most common words are needed to win and the rest are bonus points or something.
1. I thought there were a few too many clues of various types. The emoji, combined with the word list in alphabetical order, the part-filled words, AND the infinite guesses. I'll admit, I ended up guessing quite a few times, which slightly soured the experience.
2. Some of the words are really weird. I'm not sure all of the onomatopoeic words should be in there. And I don't think the acronyms (e.g NNW) should be in there.
Other than that, though, I thought it was a great version of the NYT equivalent. Loved that there were so many words — it's a shame that #2 would mean fewer, but I still think it would be worth being a bit pickier on balance. My partner didn't quite get the emjoi clues until I explained an example, but I thought a lot of them were quite clever!
2. I've removed NNW now. I've got a todo list to start playing a day ahead and doing a final pass over such things so that not as much weird stuff gets through. I do like having onomatopoeic words, because in German, it is really interesting to me to see them. I would like to known the German equivalents to Eh, ow, oh, ew and so I leave such things in. But have five different versions of ewwww, yes, that'll get fixed.
I have scripts that tune it to specific numbers of words each day by selecting different letter sets based on my curated word list, so removing words doesn't have such a big impact. And the emojis are hit or miss, but when they hit they are very funny and helpful. I would never ask a human to label 75 words a day with emojis, but GPT-5 will happily do it for a $1 a day.
Thank you for playing!!! And writing this comment!!
Some feedback on the UI - at least on desktop Chrome, the title part of your scoreboard area is being cut off and the "How to Play" section has the text totally flush with the top, so you might want to look into your margins or padding there to give everything some breathing room. There's also a bug in your shuffle algorithm -- the letter in the top right cell never changes when you shuffle the letters. The cell buttons are also a little unresponsive. It seems like there are some dead zones where the hover animation doesn't get triggered and clicking the cell doesn't actually input the letter.
I like how you've added some features to make it easier for language learners to find words. Are you yourself studying German? And if so have you found it fun/useful?
I am still nailing down how many words to put in and therefore how long the game is. Right now somewhere between 30 and 75 feels good, I had it at 100 and friends complained that it was too long. To get a sense of your data, make a histogram of total number of words per letter set. This is different per language and does give you sense of what's up, as well as how good your word universe is. Conjugations/inflections help pad this out a lot as well.
Get the word frequencies for each word, wordfreq is helpful. Then, do a greedy algorithm, start accumulating the list of letter sets, one for each day. For first day, take the letter set that maximizes the sum of the squares of the zipf from wordfreq and has the number of words that you want for that day. For the next day, remove all the previous words from the words for your possible letter sets and repeat the sum of squares of zipfs. Then just keep running that, and it will maximize the most common words that haven't been seen yet.
Additionally, I tried to filter out a lot of words out front before running the game covering algorithm. No vulgar, nothing obscure or too obsolete. It's relatively cheap to run a very large word list through GPT-5 and ask a couple questions about each word. Do that once and you have filtered out a fair portion of the list. Build in a system for ad hoc blocking and it gets you most of the way there.
That is very helpful about the buttons and formatting. Thank you so much! I have that fixed up soon. Big lol on the shuffle algorithm, I hardly ever use it so I hadn't noticed. Thanks! I am in the middle of studying German, yes. What I've found is that it is very helpful for introducing me to new words for sure, that I am not sure I could have seen otherwise. It also helps me see the patterns within how the words are formed, just trying to puzzle out things. I have to take a lot of guesses and I feel like I am getting better at guessing which letters will ended up going where, even if I have never heard the word before.
Some of it was a little frustrating, mostly the acronyms. Labeling them as such might help, because I was going mad trying to figure out "NNW" and "WWOOF.". Also, performance was not great on my older Android phone - the app would sometimes miss letters that I was sure I'd clicked.
edit: also I'm a native english speaker and I don't know what OOO means.
one thing.. 'ween' is a word.
Another friend reported "ween" as well so I looked into this. It's been marked as vulgar, mostly because it's most widely known as slang for penis (at least according to ai). There is also the word "wean" which sounds the same but has a different and modern meaning. So for now, ween is still filtered out until somebody shows me better proof it has a modern non vulgar usage.