Projects

wrdef

Play live at wrdef.com

Live, playable in the browser. No install.

Game

Worlde remake: Wrdef (Wordle + definition)

Same 5-letter, 6-guess mechanic: clues are dictionary definitions; bonus round fills blanks in the definition.

Why I built it

I play Wordle almost every day, and sometimes I get annoyed when I beat the round but I don't know the word.

So I built wrdef: same 5-letter guess-in-6 mechanic, but your clue is the dictionary definition. Solve it and you fill in blanks in that definition for bonus points, so you leave actually knowing what you just guessed.

The interesting part: tuning the data

Sense ranking per word

Most words have multiple definitions: "print" is a verb, a noun, and a photography term. I pull senses from the Wiktionary-backed dictionaryapi and tag each with a primaryRank (0 = most obvious, N = most obscure). Difficulty is just a sense-rank selector: easy shows you the primary meaning, hard shows the deepest one available. Same pool, different game.

POS-aware filtering

Interjections, prepositions, pronouns, prefixes: their definitions are circular ("used to express surprise") and make terrible clues. I whitelist verb/noun/adjective/adverb as first-class senses and only fall back to the rest when a word has nothing else.

Bucketing by frequency × depth

Every word has a corpus-occurrence score. Rare words with multiple senses get pushed to hard; common words with a single obvious sense stay in easy. The difficulty filter also requires a word to actually have a sense at that rank; otherwise the toggle would just be theming.

Blank selection for the bonus round

The definition gets tokenized; stopwords, short words, and anything sharing a 4-character prefix with the answer get dropped (no "running" blanks when the answer is "run"). Remaining candidates ranked by length: longer words carry more information and make the bonus feel earned rather than random.

A dictionary you earn

Every solve is saved to localStorage with its definition, difficulty, solve time, score, and whether you cleared the bonus. A separate /urdefs page builds a personal stats view off that log: win rate, current/best streak, fastest solve, per-difficulty breakdown, last-12 strip. No sign-in, no server. The idea is that the definitions shouldn't be disposable; you're slowly building a dictionary of words you actually earned.