---
# nuzlocke-tracker-zno2
title: Build reference data mappings
status: completed
type: task
priority: normal
created_at: 2026-02-11T08:43:02Z
updated_at: 2026-02-11T09:03:01Z
parent: nuzlocke-tracker-bs05
blocking:
    - nuzlocke-tracker-rfg0
---

Build the lookup maps needed to translate PokeDB identifiers into our seed format.

## Checklist

- [x] **Pokemon form mapping**: Map `pokemon_form_identifier` (e.g. "pidgey-default", "mr-mime-default") to `pokeapi_id` using the existing `backend/src/app/seeds/data/pokemon.json` as reference. Handle naming convention differences between PokeDB and PokeAPI (may need fuzzy matching or a manual override table).
- [x] **Location area mapping**: Map `location_area_identifier` to human-readable location names and regions using `locations.json` and `location_areas.json`. Produce names matching our existing format (e.g. "Route 1", "Viridian Forest").
- [x] **Encounter method mapping**: Map PokeDB's 73 encounter methods to our simplified set. See the draft mapping in the parent bean. Implement as a dictionary/config that's easy to extend.
- [x] **Version mapping**: Map PokeDB `version_identifiers` to our game slugs (should mostly be 1:1 but verify).

## Notes
- The pokemon form mapping is the trickiest part — PokeDB uses identifiers like "mr-mime-default" while our pokemon.json uses names like "Mr. Mime" and pokeapi IDs
- Log warnings for any unmapped identifiers so we can add overrides
- The `pokemon_forms.json` from PokeDB may help bridge the gap