Problem
The community_gear table has a subcategory column that was designed in
the original product spec but is never populated or displayed. This means
all tents, tarps, hammocks, and bivvies are lumped under "Shelter" — and
all quilts, sleeping bags, and pads are lumped under "Sleep System".
This makes it hard to browse gear by specific type (e.g., "show me all
quilts sorted by weight").
Proposal
1. Define known subcategory enums per category
Use a typed enum for common subcategories, with free-text fallback for
anything that doesn't fit:
| Category |
Known Subcategories |
| Shelter |
tent, tarp, hammock, bivy |
| Sleep System |
sleeping bag, quilt, sleeping pad |
| Pack |
backpack, daypack, fanny pack |
| Bags & Containers |
stuff sack, dry bag, packing cube, pannier |
| Cook Kit |
stove, pot, utensil, mug |
| Water |
bottle, filter, bladder |
| Clothing |
jacket, base layer, rain shell, pants, gloves, hat, socks, shoes |
| Electronics |
headlamp, battery, solar, gps |
| Hygiene |
(leave free-text) |
| Navigation |
(leave free-text) |
| Emergency |
(leave free-text) |
| Misc |
(leave free-text) |
Items that don't match any known subcategory keep the free-text field.
2. Populate existing gear
- Backfill subcategories for existing community gear items (AI-assisted
or rule-based by name matching)
- Update smart gear entry to extract subcategory during AI enrichment
3. Expose in UI
- Display subcategory on gear detail pages
- Use as a filter dimension in the community gear list
- Foundation for the Filterable Gear Catalog feature (M47)
Context
This is a prerequisite for M47 (Filterable Gear Catalog), which will add
category landing pages with filtering and sorting by weight.
Problem
The
community_geartable has asubcategorycolumn that was designed inthe original product spec but is never populated or displayed. This means
all tents, tarps, hammocks, and bivvies are lumped under "Shelter" — and
all quilts, sleeping bags, and pads are lumped under "Sleep System".
This makes it hard to browse gear by specific type (e.g., "show me all
quilts sorted by weight").
Proposal
1. Define known subcategory enums per category
Use a typed enum for common subcategories, with free-text fallback for
anything that doesn't fit:
Items that don't match any known subcategory keep the free-text field.
2. Populate existing gear
or rule-based by name matching)
3. Expose in UI
Context
This is a prerequisite for M47 (Filterable Gear Catalog), which will add
category landing pages with filtering and sorting by weight.