Evolution data is easy to oversimplify.
If a note only says:
Eevee evolves into Vaporeon.
it is missing the most useful part of the fact: the route.
For apps, guides, AI tools, and collection notes, the trigger matters as much as the target species.
I keep the public evolution workflow here:
- Pokemon evolution route hub
- Evolution method categories
- Stone and item evolution notes
- Eevee evolution family notes
This is part of the same DEV series as
the auditable Pokemon reference-stack note.
The companion type-modeling note is here:
Modeling Pokemon type matchups without hard-coding chart mistakes.
The route is the data
The evolved species is only one field.
The route can include:
- level
- item or stone
- trade
- trade plus held item
- friendship
- time of day
- known move
- location
- gender
- regional form
- game or generation context
When those are flattened into a sentence, the note becomes harder to test and easier to misquote.
A simple route object
For most evolution notes, I want a shape like this:
{
"baseSpecies": "eevee",
"targetSpecies": "vaporeon",
"method": "item",
"item": "water-stone",
"context": {
"routeFamily": "branching",
"notes": "One of several Eevee item or condition routes."
},
"reference": "https://pokedexoracle.neocities.org/eevee-evolutions"
}
This lets a UI or article explain both the result and the condition.
Why branching families need special care
Eevee is a good stress test because one base species can lead to many outcomes.
That makes a few bad content patterns obvious:
- storing only one "evolves_to" value
- treating every route as a level route
- dropping the item name
- ignoring type changes after evolution
- failing to distinguish a family page from an individual species page
The Eevee evolution notes are designed as a small example of how to keep those branches readable.
Evolution data connects to type data
Evolution is not isolated.
When a species evolves, type context can change, collection context can change, and TCG notes may need to point at a different species page.
That is why evolution notes should link sideways to type notes when relevant:
A good route note can answer:
- what is the base species?
- what is the target species?
- what triggers the change?
- does type context change?
- where can the reader verify the route?
Reference
For the canonical Pokemon reference layer, use Pokedex.me.
The goal of the local evolution cluster is not to be exhaustive. It is to keep the structure of evolution facts visible enough that a developer or writer can reuse them without guessing.

Top comments (0)