Files
GearBox/.planning/research/FEATURES.md

202 lines
17 KiB
Markdown

# Feature Research
**Domain:** Gear management and purchase planning (personal inventory + research workflow)
**Researched:** 2026-03-14
**Confidence:** HIGH
## Feature Landscape
### Table Stakes (Users Expect These)
Features users assume exist. Missing these = product feels incomplete.
| Feature | Why Expected | Complexity | Notes |
|---------|--------------|------------|-------|
| Item CRUD with core fields (name, weight, price, category) | Every gear app and spreadsheet has this. It is the minimum unit of value. | LOW | Weight and price are the two fields users care about most. Category groups items visually. |
| Weight unit support (g, oz, lb, kg) | Gear communities are split between metric and imperial. LighterPack, GearGrams, Hikt all support multi-unit. | LOW | Store in grams internally, display in user-preferred unit. Conversion is trivial. |
| Automatic weight/cost totals | Spreadsheets do this. Every competitor does this. Manual math = why bother with an app. | LOW | Sum by category, by setup, by collection. Real-time recalculation on any change. |
| Categories/grouping | LighterPack, GearGrams, Packstack all organize by category (shelter, sleep, cook, clothing, etc.). Without grouping, lists become unreadable past 20 items. | LOW | User-defined categories. Suggest defaults but allow custom. |
| Named setups / packing lists | LighterPack has lists, GearGrams has lists, Packstack has trips, Hikt has packing lists. Composing subsets of your gear into purpose-specific loadouts is universal. | MEDIUM | Items belong to collection; setups reference items from collection. Many-to-many relationship. |
| Setup weight/cost breakdown | Every competitor shows base weight, worn weight, consumable weight as separate totals. Pie charts or percentage breakdowns by category are standard (LighterPack pioneered this). | MEDIUM | Weight classification (base/worn/consumable) per item per setup. Visual breakdown is expected. |
| Notes/description per item | Spreadsheet users write notes. Every competitor supports free text on items. Useful for fit notes, durability observations, model year specifics. | LOW | Plain text field. No rich text needed for v1. |
| Product links / URLs | Users track where they found or bought items. Spreadsheets always have a "link" column. | LOW | Single URL field per item. |
| Photos per item | Hikt, GearCloset, and Packrat all support item photos. Visual identification matters -- many gear items look similar in text. | MEDIUM | Image upload and storage. Start with one photo per item; multi-photo is a differentiator. |
| Search and filter | Once a collection exceeds 30-40 items, finding things without search is painful. Hikt highlights "searchable digital closet." | LOW | Filter by category, search by name. Basic but essential. |
| Import from CSV | GearGrams, HikeLite, HikerHerd, Packrat all support CSV import. Users migrating from spreadsheets (GearBox's primary audience) need this. | MEDIUM | Define a simple CSV schema. Map columns to fields. Handle unit conversion on import. |
| Export to CSV | Companion to import. Users want data portability and backup ability. | LOW | Straightforward serialization of collection data. |
### Differentiators (Competitive Advantage)
Features that set the product apart. Not required, but valuable.
| Feature | Value Proposition | Complexity | Notes |
|---------|-------------------|------------|-------|
| Purchase planning threads | No competitor has this. LighterPack, GearGrams, Packstack, Hikt are all post-purchase tools. GearBox's core value is the pre-purchase research workflow: create a thread, add candidates, compare, decide, then move the winner to your collection. This is the single biggest differentiator. | HIGH | Thread model with candidate items, status tracking, resolution workflow. This is the app's reason to exist. |
| Impact preview ("how does this affect my setup?") | No competitor shows how a potential purchase changes your overall setup weight/cost. Users currently do this math manually in spreadsheets. Seeing "+120g to base weight, +$85 to total cost" before buying is uniquely valuable. | MEDIUM | Requires linking threads to setups. Calculate delta between current item (if replacing) and candidate. |
| Thread resolution workflow | The lifecycle of "researching -> ordered -> arrived -> in collection" does not exist in any competitor. Closing a thread and promoting the winner to your collection is a novel workflow that mirrors how people actually buy gear. | MEDIUM | Status state machine on thread items. Resolution action that creates/updates collection item. |
| Side-by-side candidate comparison | Wishlist apps let you save items. GearBox lets you compare candidates within a thread on the dimensions that matter (weight, price, notes). Similar to product comparison on retail sites, but for your specific context. | MEDIUM | Comparison view pulling from thread candidates. Highlight differences in weight/price. |
| Priority/ranking within threads | Mark favorites among candidates. Simple but no gear app does this because no gear app has a research/planning concept. | LOW | Numeric rank or star/favorite flag per candidate in a thread. |
| Multi-photo per item | Most competitors support zero or one photo. Multiple photos (product shots, detail shots, in-use shots) add real value for gear tracking. | MEDIUM | Gallery per item. Storage considerations. Defer to v1.x. |
| Weight distribution visualization | LighterPack's pie chart is iconic. A clean, modern version with interactive breakdowns by category adds polish. | MEDIUM | Chart component showing percentage of total weight by category. |
| Hobby-agnostic data model | Competitors are hiking/backpacking-specific. GearBox works for bikepacking, sim racing, photography, cycling, or any collection hobby. The data model uses generic "categories" rather than hardcoded "shelter/sleep/cook." | LOW | Architecture decision more than feature. No hiking-specific terminology baked into the model. |
### Anti-Features (Commonly Requested, Often Problematic)
Features that seem good but create problems.
| Feature | Why Requested | Why Problematic | Alternative |
|---------|---------------|-----------------|-------------|
| Multi-user / social sharing | "Share my setup with friends," "collaborate on packing lists." Hikt Premium has real-time collaboration. | Adds auth, permissions, data isolation, and massive complexity to a single-user app. The PROJECT.md explicitly scopes this out. Premature for v1. | Export/share as read-only link or image in a future version. No auth needed. |
| Price tracking / deal alerts | Wishlist apps (Sortd, WishUpon) track price drops. Seems useful for purchase planning. | Requires scraping or API integrations with retailers. Fragile, maintenance-heavy, legally gray. Completely different product category. | Store the price you found manually. Link to the product page. Users can check prices themselves. |
| Barcode/product database scanning | Hikt has barcode scanning and product database lookup. Seems like it saves time. | Requires maintaining or licensing a product database. Outdoor gear barcodes are inconsistent. Mobile-first feature that does not fit a web-first app. | Manual entry is fine for a collection that grows by 1-5 items per month. Not a data-entry-heavy workflow. |
| Custom comparison parameters | "Let me define which fields to compare (warmth rating, denier, waterproof rating)." | Turns a simple app into a configurable schema builder. Massive complexity for marginal value. PROJECT.md lists this as out of scope for v1. | Use the notes field for specs. Fixed comparison on weight/price covers 80% of use cases. |
| Community gear database / shared catalog | "Browse what other people use," "copy someone's gear list." Hikt has community packing lists. | Requires moderation, data quality controls, user accounts, and content management. Completely different product. | Stay focused on personal inventory. Community features are a different app. |
| Mobile native app | PackLight and Hikt have iOS/Android apps. | Doubles or triples development effort. Web-first serves the use case (gear management is a desk activity, not a trailside activity). PROJECT.md scopes this out. | Responsive web design. Works on mobile browsers for quick lookups. |
| Real-time weather integration | Packstack integrates weather for trip planning. | Requires external API, ongoing costs, and is only relevant to outdoor-specific use cases. GearBox is hobby-agnostic. | Out of scope. Users check weather separately. |
| Automated "what to bring" recommendations | AI/rule-based suggestions based on trip conditions. | Requires domain knowledge per hobby, weather data, user preference modeling. Over-engineered for a personal tool. | Users build their own setups. They know their gear. |
## Feature Dependencies
```
[Item CRUD + Core Fields]
|
+--requires--> [Categories]
|
+--enables---> [Named Setups / Packing Lists]
| |
| +--enables---> [Setup Weight/Cost Breakdown]
| |
| +--enables---> [Impact Preview] (also requires Planning Threads)
|
+--enables---> [Planning Threads]
|
+--enables---> [Candidate Comparison]
|
+--enables---> [Thread Resolution Workflow]
| |
| +--creates---> items in [Collection]
|
+--enables---> [Priority/Ranking]
|
+--enables---> [Status Tracking] (researching -> ordered -> arrived)
[Search & Filter] --enhances--> [Item CRUD] (becomes essential at ~30+ items)
[Import CSV] --populates--> [Item CRUD] (bootstrap for spreadsheet migrants)
[Photos] --enhances--> [Item CRUD] (independent, can add anytime)
[Weight Unit Support] --enhances--> [All weight displays] (must be in from day one)
```
### Dependency Notes
- **Named Setups require Item CRUD:** Setups are compositions of existing collection items. The collection must exist first.
- **Planning Threads require Item CRUD:** Thread candidates have the same data shape as collection items (weight, price, etc.). Reuse the item model.
- **Impact Preview requires both Setups and Threads:** You need a setup to compare against and a thread candidate to evaluate. This is a later-phase feature.
- **Thread Resolution creates Collection Items:** The resolution workflow bridges threads and collection. Both must be stable before resolution logic is built.
- **Import CSV populates Collection:** Import is a bootstrap feature for users migrating from spreadsheets. Should be available early but after the core item model is solid.
## MVP Definition
### Launch With (v1)
Minimum viable product -- what is needed to validate the concept and replace a spreadsheet.
- [ ] Item CRUD with weight, price, category, notes, product link -- the core inventory
- [ ] User-defined categories -- organize items meaningfully
- [ ] Weight unit support (g, oz, lb, kg) -- non-negotiable for gear community
- [ ] Automatic weight/cost totals by category and overall -- the reason to use an app over a text file
- [ ] Named setups with item selection and totals -- compose loadouts from your collection
- [ ] Planning threads with candidate items -- the core differentiator, add candidates you are researching
- [ ] Side-by-side candidate comparison on weight/price -- the payoff of the thread concept
- [ ] Thread resolution (pick a winner, move to collection) -- close the loop
- [ ] Dashboard home page -- clean entry point per PROJECT.md constraints
- [ ] Search and filter on collection -- usability at scale
### Add After Validation (v1.x)
Features to add once core is working and the planning thread workflow is proven.
- [ ] Impact preview ("this candidate adds +120g to your Summer Bikepacking setup") -- requires setups + threads to be stable
- [ ] Status tracking on thread items (researching / ordered / arrived) -- lifecycle tracking
- [ ] Priority/ranking within threads -- mark favorites among candidates
- [ ] Photos per item -- visual identification, one photo per item initially
- [ ] CSV import/export -- migration path from spreadsheets, data portability
- [ ] Weight distribution visualization (pie/bar chart by category) -- polish feature
### Future Consideration (v2+)
Features to defer until product-market fit is established.
- [ ] Multi-photo gallery per item -- storage and UI complexity
- [ ] Shareable read-only links for setups -- lightweight sharing without auth
- [ ] Drag-and-drop reordering in lists and setups -- UX refinement
- [ ] Bulk operations (multi-select, bulk categorize, bulk delete) -- power user feature
- [ ] Dark mode -- common request, low priority for initial launch
- [ ] Item history / changelog (track weight after modifications, price changes) -- advanced tracking
## Feature Prioritization Matrix
| Feature | User Value | Implementation Cost | Priority |
|---------|------------|---------------------|----------|
| Item CRUD with core fields | HIGH | LOW | P1 |
| Categories | HIGH | LOW | P1 |
| Weight unit support | HIGH | LOW | P1 |
| Auto weight/cost totals | HIGH | LOW | P1 |
| Named setups | HIGH | MEDIUM | P1 |
| Planning threads | HIGH | HIGH | P1 |
| Candidate comparison | HIGH | MEDIUM | P1 |
| Thread resolution | HIGH | MEDIUM | P1 |
| Dashboard home | MEDIUM | LOW | P1 |
| Search and filter | MEDIUM | LOW | P1 |
| Impact preview | HIGH | MEDIUM | P2 |
| Status tracking (threads) | MEDIUM | LOW | P2 |
| Priority/ranking (threads) | MEDIUM | LOW | P2 |
| Photos per item | MEDIUM | MEDIUM | P2 |
| CSV import/export | MEDIUM | MEDIUM | P2 |
| Weight visualization charts | MEDIUM | MEDIUM | P2 |
| Multi-photo gallery | LOW | MEDIUM | P3 |
| Shareable links | LOW | MEDIUM | P3 |
| Drag-and-drop reordering | LOW | MEDIUM | P3 |
| Bulk operations | LOW | MEDIUM | P3 |
**Priority key:**
- P1: Must have for launch
- P2: Should have, add when possible
- P3: Nice to have, future consideration
## Competitor Feature Analysis
| Feature | LighterPack | GearGrams | Packstack | Hikt | GearBox (Our Approach) |
|---------|-------------|-----------|-----------|------|------------------------|
| Gear inventory | Per-list only (no central closet) | Central library + lists | Full gear library | Full closet with search | Full collection as central source of truth |
| Weight tracking | Excellent -- base/worn/consumable splits, pie charts | Good -- multi-unit, category totals | Good -- base/worn/consumable | Excellent -- smart insights | Base/worn/consumable with unit flexibility |
| Packing lists / setups | Unlimited lists (web) | Multiple lists via drag-drop | Trip-based (2 free) | 3 free lists, more with premium | Named setups composed from collection |
| Purchase planning | None | None | None | None | Planning threads with candidates, comparison, resolution -- unique |
| Impact analysis | None | None | None | None | Show how a candidate changes setup weight/cost -- unique |
| Photos | None | None | None | Yes | Yes (v1.x) |
| Import/export | None (copy-linked lists only) | CSV import | None mentioned | LighterPack import, CSV | CSV import/export (v1.x) |
| Mobile | No native app (web only, poor mobile UX) | Web only | iOS only | iOS + Android + web | Web-first, responsive design |
| Sharing | Shareable links | None mentioned | Shareable trip links | Community lists, collaboration | Deferred (v2+, read-only links) |
| Hobby scope | Hiking/backpacking only | Hiking/backpacking only | Hiking/backpacking only | Hiking/backpacking only | Any hobby (bikepacking, sim racing, photography, etc.) |
| Pricing | Free | Free | Freemium (2 lists free) | Freemium (3 lists free) | Single-user, no tiers |
| Status | Open source, aging, no mobile | Maintained but dated | Active development | Actively developed, modern | New entrant with unique purchase planning angle |
## Sources
- [LighterPack](https://lighterpack.com/) -- free web-based gear list tool, community standard
- [GearGrams](https://www.geargrams.com/) -- drag-and-drop gear library with multi-unit support
- [Packstack](https://www.packstack.io/) -- trip-centric gear management with weather integration
- [Hikt](https://hikt.app/) -- modern gear manager with mobile apps and community features
- [Hikt Blog: Best Backpacking Gear Apps 2026](https://hikt.app/blog/best-backpacking-gear-apps-2026/) -- competitive comparison
- [HikeLite](https://hikeliteapp.com/) -- ultralight gear management with CSV support
- [Packrat](https://www.packrat.app/) -- iOS/Android gear inventory with CSV/JSON import
- [LighterPack GitHub Issues](https://github.com/galenmaly/lighterpack/issues) -- user feature requests and limitations
- [Palespruce Bikepacking Gear Spreadsheet](http://www.palespruce.com/bikepacking-gear-spreadsheet/) -- spreadsheet workflow GearBox replaces
- [99Boulders Backpacking Gear List Spreadsheet](https://www.99boulders.com/backpacking-gear-list-spreadsheet) -- spreadsheet workflow patterns
---
*Feature research for: Gear management and purchase planning*
*Researched: 2026-03-14*