Here's a quickly-slapped-together little project that generates word search puzzles.
I've been kicking around an idea for a kind of "evil" word search, in which there are tons of letter combinations that almost spell words, but don't. The trick would be to see how distracting the almost-words are, and whether that makes the correctly-spelled words harder to find. That's not what this one is, though. This one is just a regular, non-evil word search generator.
The core generator code is at this githib repo, or on npm as @sbj42/word-search-generator.