DEV Community

lyyluca
lyyluca

Posted on

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.

The Tech Stack

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.

How It Works

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.

The Data Layer

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.

What I Learned

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.

Top comments (0)