I built a fantasy name generator with real etymology using Next.js and linguistic databases
Most fantasy name generators are just random syllable mashups. I wanted something smarter — a generator that produces names with actual linguistic roots and cultural context. I built LoreNamer using Next.js 14 with TypeScript. The core challenge was structuring etymological data in a way that's both accurate and performant. Each culture (Viking, Elf, Medieval, etc.) has a curated database of name components with real linguistic origins. For Viking names, I pulled from Old Norse dictionaries. For elven names, I followed Tolkien's Sindarin and Quenya morphology rules. The generator doesn't just concatenate random parts. It applies phonological rules specific to each language family. Viking names follow Old Norse phonotactics. Elven names respect Tolkien's consonant mutation patterns. I structured the etymology data as JSON schemas with fields for meaning, origin language, historical period, and phonetic constraints. This lets me generate names that are both authentic and explainable. The frontend is pure React with Tailwind. No database — everything runs client-side for instant generation. Linguistic accuracy is hard. Balancing authenticity with usability meant making trade-offs. Some names are simplified for readability, but every name includes its full etymological breakdown. Check it out: https://lorenamer.com Open to feedback, especially from other devs working with linguistic data.
