Create name_dictionary.json with 175 words each across mythology, food, space, nature, warriors, music, literature, gems, ocean, and weather categories. Words are short (<= 12 chars), title-cased, and suitable as Pokemon nicknames. No intra-category duplicates; cross-category overlap is intentional. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2.2 KiB
2.2 KiB
title, status, type, priority, created_at, updated_at
| title | status | type | priority | created_at | updated_at |
|---|---|---|---|---|---|
| Name Generation | todo | epic | normal | 2026-02-05T13:45:15Z | 2026-02-11T20:41:56Z |
Implement a dictionary-based nickname generation system for Nuzlocke runs. Instead of using an LLM API to generate names on the fly, provide a static dictionary of words categorised by theme. A word can belong to multiple categories, making it usable across different naming schemes.
Architecture Decisions
- Dictionary storage: Static JSON file in
backend/src/app/seeds/data/, alongside other seed data. Not exposed to frontend directly. - Dictionary format: Category-keyed structure (
{ "mythology": ["Apollo", ...], "space": ["Nova", ...] }) for fast lookup by naming scheme. Words may appear in multiple categories. - Suggestion logic: Backend service with API endpoint. Frontend calls the backend to get suggestions.
- Used-name tracking: No new storage needed. The existing
Encounter.nicknamefield already tracks assigned names. The suggestion engine queries encounter nicknames for the current run and excludes them. - Naming scheme per run: Dedicated nullable
naming_schemecolumn onNuzlockeRun(not in therulesJSONB).
Approach
- Static dictionary: A local data file (JSON) containing words organised by category (e.g. mythology, food, space, nature, warriors, music, etc.)
- ~150-200 words per category: A typical Nuzlocke has ~100 encounters, so this provides ample variety without repetition.
- Name suggestion UX: When registering a new encounter, the user is shown 5-10 suggested names from their chosen naming scheme. They can click one to select it, or regenerate for a fresh batch.
- Naming scheme selection: Users pick a naming scheme (category) per run, either at run creation or in run settings.
Success Criteria
- Word dictionary data file exists with multiple categories, each containing 150-200 words
- Name suggestion engine picks random names from the selected category, avoiding duplicates already used in the run
- Encounter registration UI shows 5-10 clickable name suggestions
- User can regenerate suggestions if none fit
- User can select a naming scheme per run