About NetWords

Where the puzzles come from, and who's responsible.

Most word puzzles hide an answer and ask you to find it. This one hands you both ends and asks you to build the middle. It runs on meaning rather than letters, so there's no spelling trick to learn. The only question at each step is what a word means and what sits near it.

Play today's puzzle →

Why it exists

Language models turn every word into a point in space, and the distance between two points is a usable measure of how alike they are. Mostly it agrees with you. Where it doesn't is where the game is: DOCTOR and STETHOSCOPE score 28.1% and never connect, while LOUD and QUIET score 76.2% and sail through.

I also wanted a daily puzzle where being wrong was cheap, with no timer and no limit on attempts.

How a puzzle gets built

A program runs once a night, a day ahead of the earliest time zone that'll play it. Nothing is written by hand, and nothing ships until the generator has proved it can be solved.

1. Cutting down the word list

It starts from a frequency-ranked English word list, which makes terrible puzzles as-is, so it gets a pass. Out go words under four letters, inflections whose base word is already in there (MEANS next to MEAN is a plural, not a step), proper nouns, and internet debris like HTTP and PREV.

Words that are ordinary English and also happen to be names stay: BILL, FRANK, MARK, ROSE, BROWN, JACK, TURKEY. Losing those costs more than the occasional odd anchor gains. Each day's board draws on 1,200 helper words on top of the two anchors.

2. A model that's deliberately frozen

Every word becomes a vector via a pinned open-source model (all-MiniLM-L6-v2), and two words count as linked at 40% similarity or above.

Pinning it does more work than it sounds like. Upgrading the model would silently change the answer to every puzzle ever made: shortest paths already published would stop being true, half-finished boards would come back scored differently, and a puzzle you linked to a friend wouldn't be the one they opened.

3. Picking the day's two anchors

The generator builds a graph over the day's vocabulary, every word a node and every above-threshold pair an edge, then hunts for two words with an interesting shortest route between them. It scores candidate pairs against a target route length and takes the closest.

The target is set higher than the current threshold can actually reach, because a dense graph makes long routes rare. So in practice it takes the longest genuine route available that day, and par usually lands around three. The target stays where it is so the aim is still correct if the bar ever moves up.

Because the route is computed rather than assumed, the Shortest path number on your results screen is a promise, not an estimate. A pair with no route between them gets thrown out instead of shipped with a plausible number attached.

4. Keeping the solve honest

One rule exists purely so puzzles don't all feel the same. A handful of umbrella nouns, SOMETHING and ITEM and ACTIVITY and friends, sit close to between 15% and 28% of the entire vocabulary. Technically they bridge almost anything. In practice a solution routed through one reads as arbitrary and turns every puzzle into the same puzzle.

So any non-anchor word connecting to more than 15% of the vocabulary is barred from sitting on a solution route. Anchors themselves can be hubs; the rule only governs stepping stones. Measured against the alternative it reroutes about a third of routes onto specific, meaningful words, leaves difficulty essentially unchanged, and disconnects nothing. Typing one is still a perfectly legal move, it just won't be what par was measured against.

5. Shipping it

Each day gets checked against previous days so anchors don't come back around, and the finished graph is precomputed and shipped with the puzzle, which is why the board responds instantly. Words you invent that aren't in the day's vocabulary get scored live by a small service as you type, so the vocabulary bounds the puzzle and not your imagination.

Known problems

A game whose engine is a statistical model of language has edges. Some pairs connect for reasons that aren't meaning at all, the hand-built proper-noun filter isn't exhaustive so a rare name occasionally lands as an anchor, and the word list still contains the odd acronym. The FAQ goes through each one, and reports are the fastest way they get fixed.

Privacy, briefly

You can play without an account, and if you do, your progress and stats stay in your own browser rather than on a server. I run no analytics and no tracking scripts of my own. The Privacy Policy has the full detail, including advertising and what signing in stores.

Who makes it

I'm Titus Whang, an independent developer, and NetWords is a one-person project. It runs as a web app at networds.app on phones and desktops alike. Questions, bug reports and puzzles that struck you as deeply unfair are all welcome; the contact page says what's useful to include.

Play today's puzzle →