No matter what system you arrive at, not all flies will fit neatly into a category. Many will overlap, others simply will end up in obscurity due to being mis-categorized or not fitting into any existing category.
Here’s another one, would Palolo worm, San Jaun worm and the V-tailed Worm patterns be found in one category ( worms ), or spread out over Saltwater, Freshwater / Cold and Freshwater / Warm?
That’s where a tag system shines. Unlike a physical filing system, where each record can only be placed in one “folder”, with a tag-based database, each “file”, in this case, each pattern, can be part of multiple “folders”, or in our case, classifiers. A San Juan worm is a worm, so it gets the “worm” tag. It catches trout, so it gets a “trout” tag. It’s an easy tie, so it gets an “easy” tag. It catches panfish…you guessed it…“panfish” tag. Now when anyone does a search for any of these tags, the San Juan Worm gets returned as a result.
For more specific results, the interface could…should…be a series of drop-down parameter selections. This will prevent ridiculous input like “Listerine” from messing up search results. Vaguely similar to WestFly’s system, the main pattern database page would simply have a drop-down menu for each parameter.
One menu would have “Type” as a parameter. It would have selections like: Dry, Wet, Nymph, Streamer, Egg
One menu would have “Species” as a parameter. It’s selections would be: Trout, Salmon/Steelhead, LM Bass, SM Bass, Panfish, Tarpon, Permit, Bonefish, etc.
Another, “Water”, would include: coldwater, warmwater, stillwater, saltwater.
A difficulty variable should probably be either a brutally simple “Easy, Medium, Hard” scale, or a 1-10 difficulty scale. This one would be trickier to input, but something like “X or below” might be a good way to do it.
As a later addition, you might add a material selector database. Each pattern’s list of materials would become tags, and a main-page list with check-boxes would define your parameters.
Lets say I want to tie an easy nymph using only materials I have on hand.
I set my parameters to “Nymph”, “trout”, “coldwater”, and “easy”.
I check boxes beside: nymph dubbing, ribbing wire, peacock herl, pheasant tail feather, biots, hares mask, and beads.
I click “search”.
Among the returned results (that match all my criteria), I should see hare’s ear, pheasant tail, and prince nymph, as these flies match all my parameters and fit within my materials I have on hand. 