19 KiB
Feature Research
Domain: Public-first gear discovery platform with catalog enrichment Researched: 2026-04-09 Confidence: MEDIUM-HIGH Milestone scope: v2.1 Public Discovery — builds on v2.0 multi-user foundation
Context: What Already Exists (v2.0)
These are shipped. New features below only mention them when v2.1 extends them:
- Full gear collection CRUD with weight/price tracking, categories, images
- Planning threads with candidate comparison, ranking, pros/cons, impact preview
- Named setups with classification, donut chart, weight breakdowns
- PostgreSQL multi-user data model, Logto OIDC external auth
- S3 image storage (MinIO), global item catalog with tags and search
- User profiles with avatar/bio, public setup sharing
- Catalog-driven add flow, global FAB, item/catalog detail pages
- MCP server (19 tools), API key + OAuth auth methods
All features below are new for v2.1 unless explicitly marked "extend existing."
Feature Landscape
Table Stakes (Users Expect These)
Features that public-first gear discovery platforms are expected to provide. Missing these makes the product feel broken or hostile to new visitors.
| Feature | Why Expected | Complexity | Notes |
|---|---|---|---|
| Browse catalog and setups without login | All comparable platforms (Lighterpack shared lists, BikeGearDatabase, RTINGS) allow full read access. Forcing login before browse kills SEO and casual discovery. | LOW | Middleware change: lift auth guard from all GET /api/* endpoints. Public setup sharing already exists at v2.0 — generalize to all read routes. Session-optional pattern already proven. |
| Discovery landing page with catalog search prominent | RTINGS, Wirecutter, and BikeGearDatabase all lead with search or category browse above the fold. Users arriving from search engines expect to search immediately, not to log in. | MEDIUM | Replace dashboard for unauthenticated visitors. Search bar + tag chips already exist as FAB overlay — promote to inline page hero. Authenticated users still see their dashboard. Route-level auth split. |
| Contextual auth prompt only on write actions | Users must understand the access model without reading documentation. "Browse freely, sign in to save" must be self-evident. Confusing this causes drop-off. | LOW | Inline "Sign in to add to your collection" CTA on catalog item detail pages. No login wall on any browse action. |
| Product attribution: brand and manufacturer fields | Any gear database users trust shows where a product originates. Missing attribution makes catalog look scraped or unverifiable. | LOW | Add brand, manufacturer fields to catalog items schema. Already has name — add structured attribution alongside. Display prominently on detail pages and cards. |
| Image source attribution display | Legal requirement and trust signal. Gear Patrol, BikeGearDatabase, and manufacturer catalogs all credit image source. Omitting creates IP risk on manufacturer-supplied images. | LOW | Add imageCredit (display text, e.g. "Apidura") and imageSourceUrl fields to catalog items. Display as "Photo: [credit]" beneath product images on detail pages. |
| Community usage signal on catalog items | Users expect to see "owned by N people" or "in N setups" to gauge real-world adoption. Lighterpack shows this per shared list. RTINGS shows review counts. | LOW | ownerCount already exists on catalog items in v2.0. Surface it prominently on catalog cards and detail pages. Add "appears in N setups" count derived from setupItems. |
| Shareable catalog item and setup URLs resolve without login | Public-first means deep-linking works. If a setup or catalog item URL is shared, it must render for anyone — no login redirect. | LOW | Detail pages already exist at v2.0. Verify: unauthenticated API responses work end-to-end, meta tags render, no auth redirect on page load. Likely already 90% working given public setup sharing. |
Differentiators (Competitive Advantage)
Features that set GearBox apart from Lighterpack (lists only, no catalog), BikeGearDatabase (editorial, not user collections), and generic wishlist tools.
| Feature | Value Proposition | Complexity | Notes |
|---|---|---|---|
| Discovery landing feed (community setups + catalog items) | No direct competitor combines a global gear catalog with user setup feeds. Lighterpack has no discovery page. BikeGearDatabase is editorial, not community-driven. GearBox can show real user gear choices with weight data. | MEDIUM | Two feed sections: (a) recently shared public setups sorted by recency, filterable by category; (b) popular/new catalog items by ownerCount. No algorithm needed at launch — recency + ownerCount is sufficient and honest. |
| Agent-powered catalog seeding via MCP tools | Unique to GearBox. No other gear platform has agent-friendly structured import. Enables rapid catalog population by Claude agent swarms without manual data entry. Programmatic SEO value compounds with catalog size. | HIGH | Requires: bulk create MCP tool, structured import with dry-run/preview mode, attribution tracking on agent-inserted records. GearBox already has MCP server and API key auth — foundation exists. |
| Catalog enrichment infrastructure with provenance tracking | Enables crowd + agent contributions with full source tracking. Comparable to Wikipedia's citation model but structured. Builds long-term trust in catalog data quality. | MEDIUM | New schema fields: sourceUrl, sourceType (enum: manufacturer / community / agent / import), contributedBy (userId or agent identifier string), verifiedAt. Migration only, lightweight UI needed initially. |
| SEO-indexable catalog pages ranking for product searches | Public catalog pages that rank for "[product name] weight specs" are a major organic acquisition channel. RTINGS built a durable traffic moat this way via programmatic SEO. GearBox can do the same for gear. | MEDIUM | Pages already exist. Add: <title> tags with product name + category, OG meta tags, JSON-LD Product schema markup. Primary complexity: TanStack Router is client-rendered — crawlers need either SSR or static prerender for bots. This is the phase's primary technical risk. |
| Setup impact preview teaser on public catalog pages | Showing "add this to your setup and base weight changes by +Xg" is unique. No other gear catalog does this. Showing the feature on public pages teases value and drives sign-up intent. | MEDIUM | Extend existing impact preview (v1.3) to show a teaser CTA on unauthenticated catalog detail pages: "See how this affects your setup → [Sign in to try]". Requires no new backend work — frontend auth-conditional render. |
Anti-Features (Commonly Requested, Often Problematic)
| Feature | Why Requested | Why Problematic | Alternative |
|---|---|---|---|
| Algorithmic feed ranking using engagement signals | "Show popular content" feels natural | Requires engagement data volume that does not exist at v2.1 scale. Empty or manipulated feed is worse than no feed. Gaming and spam risk immediately. | Simple recency + ownerCount sort. Add engagement signals only when data volume and moderation infrastructure justify it. |
| Open wiki-style catalog editing (anyone edits any item) | Fastest path to catalog enrichment | Data quality collapses without moderation. Adversarial edits, edit wars. Requires revert/history infrastructure. Already decided out-of-scope in PROJECT.md. | Structured contributions: users submit items, agents bulk-seed with attribution, admins verify. provenance fields track every change. |
| Bulk catalog import from scraped external sources | "Just import all BikeGearDB items" | Copyright risk. Data quality issues. Stale data. Attribution impossible — you do not know who owns the content. Legal exposure. | Agent-seeding via MCP with explicit source tracking. Manual + agent creates clean provenance chain with sourceUrl per item. |
| Real-time "X users viewing this" presence indicators | Social proof, FOMO feeling | Zero signal value at current traffic scale, adds WebSocket complexity, privacy concern for a utility tool. | ownerCount ("X people own this") is sufficient social proof without live presence tracking. |
| Comments on catalog items or setups | Community enrichment, Q&A | Freeform UGC explicitly blocked in PROJECT.md until moderation infrastructure exists. Moderation requires policy, tooling, reporting. | Structured fields only: tags, ratings, attribution. Defer freeform to future milestone after moderation is designed. |
| Social follow / activity feed | "See what friends added" | Social graph is a separate product. Deferred explicitly in PROJECT.md. Notification infrastructure, feed ranking, retention loops all out of scope. | Public setup browsing by category or recency is sufficient discovery without requiring a follow graph. |
| Infinite scroll personalized feed | "Netflix for gear" | Personalization requires user history. Unauthenticated visitors have no history. Personalized recommendations require ML infrastructure far beyond v2.1 scope. | Category-filtered browse + search. Personalization post-login once collection data exists is a v3+ feature. |
Feature Dependencies
Public browse without login
└──prerequisite for──> Discovery landing page (needs unauth API render)
└──prerequisite for──> SEO-indexable catalog pages (bots must reach pages)
└──prerequisite for──> Setup impact preview teaser on public pages
└──prerequisite for──> Shareable URLs confirmed working without auth
Catalog enrichment schema (attribution fields)
└──prerequisite for──> Agent-powered MCP catalog seeding (tools write into these fields)
└──prerequisite for──> Image attribution display (imageCredit field must exist)
└──prerequisite for──> Source provenance display on detail pages
Agent-powered MCP catalog seeding tools
└──requires──> Catalog enrichment schema (attribution fields must exist first)
└──enhances──> Discovery landing feed (more items = richer feed)
└──enhances──> SEO surface area (more pages = more potential rankings)
Discovery landing page
└──requires──> Public browse without login
└──requires──> Feed query API (popular setups + recent catalog items)
└──uses existing──> Catalog search (FAB overlay promoted to page hero)
SEO metadata on catalog pages
└──requires──> Public browse without login (bots must reach pages)
└──depends on──> Crawlability solution (SSR or prerender for TanStack Router)
└──enhances──> Agent-seeded catalog (more items = more indexed pages)
Setup impact preview teaser (public)
└──requires──> Public browse without login
└──depends on existing──> Impact preview feature (v1.3, already shipped)
Dependency Notes
- Public browse is the prerequisite for everything. Auth middleware change must land first. All other v2.1 features depend on unauthenticated API access working correctly.
- Catalog enrichment schema must precede agent MCP tools. The bulk create and import MCP tools write attribution fields. Building tools before schema means schema-breaking changes later.
- SEO crawlability is the primary technical risk. TanStack Router renders client-side. Search engine bots do not execute JavaScript. Without SSR or a static prerender pass, catalog pages will not be indexed. This is a known gap with the current stack — needs a solution before SEO-targeted work makes sense. Defer SEO metadata work to P2 until crawlability is resolved.
- Agent seeding is high complexity but high leverage. It is both a catalog population tool and a v2.1 launch enabler. Without sufficient catalog items, the discovery feed is thin and the platform feels empty. Prioritize MCP tooling early so catalog seeding can run in parallel with UI work.
MVP Definition
This is a subsequent milestone on an existing shipped product. MVP here means minimum to deliver the v2.1 goal: public-first discovery platform.
Launch With (v2.1 core)
- Public browse without login — lift auth guard from all GET routes. Every other feature depends on this.
- Discovery landing page — replaces dashboard for unauthenticated visitors. Catalog search hero + two feed sections (recent setups, popular catalog items). Recency + ownerCount sort, no algorithm.
- Catalog enrichment schema migration — add
brand,manufacturer,sourceUrl,sourceType,imageCredit,imageSourceUrl,contributedByfields. Schema first, UI follows. - Image attribution display on catalog detail pages — "Photo: [credit]" below product images, sourced from new
imageCreditfield. - Agent MCP catalog seeding tools — bulk create endpoint/tool, structured import with attribution, dry-run/preview mode, batch result reporting.
- Initial catalog population via agent — run agent seeding for 3-5 priority categories (bikepacking bags, tents, sleeping bags, navigation devices, cycling computers). Target: 100+ catalog items with attribution.
- Community usage signals surfaced — ownerCount and "appears in N setups" count prominent on catalog cards and detail pages.
Add After Core is Stable (v2.1.x)
- Contextual "See how this affects your setup" CTA on public catalog pages — setup impact preview teaser with login prompt. Add once public browse is confirmed stable.
- Manufacturer/brand filter on catalog browse — add brand as a filterable facet. Only valuable once catalog volume justifies filtering (target: after initial seeding).
- SEO metadata on catalog pages —
<title>, OG tags, JSON-LD Product schema. Add after crawlability solution is determined.
Future Consideration (v2.2+)
- Personalized discovery feed post-login — requires collection data volume and recommendation design.
- Verified catalog item badge — admin-marked verified items. Requires admin tooling.
- User-submitted catalog enrichment — structured form to suggest corrections or add missing items. Requires contribution review workflow.
- Engagement signals in feed — view count, saves. Requires data volume to be meaningful.
Feature Prioritization Matrix
| Feature | User Value | Implementation Cost | Priority |
|---|---|---|---|
| Public browse without login | HIGH | LOW | P1 |
| Discovery landing page | HIGH | MEDIUM | P1 |
| Catalog enrichment schema (attribution fields) | HIGH | LOW | P1 |
| Image attribution display | MEDIUM | LOW | P1 |
| Agent MCP catalog seeding tools | HIGH | HIGH | P1 |
| Initial catalog population (agent run) | HIGH | MEDIUM (depends on MCP tools) | P1 |
| Community usage signals (ownerCount visible) | MEDIUM | LOW | P1 |
| Shareable URL audit (confirm unauth render) | HIGH | LOW | P1 |
| Setup impact preview teaser (public) | MEDIUM | MEDIUM | P2 |
| Brand/manufacturer filter on catalog browse | LOW | LOW | P2 |
| SEO metadata on catalog pages | MEDIUM | MEDIUM (crawlability dependency) | P2 |
| Personalized discovery feed | MEDIUM | HIGH | P3 |
| Verified catalog badge | LOW | MEDIUM | P3 |
| User-submitted enrichment form | LOW | MEDIUM | P3 |
Priority key:
- P1: Required for v2.1 milestone goal
- P2: Add once v2.1 core is validated
- P3: Future consideration, requires new infrastructure
Competitor Feature Analysis
| Feature | Lighterpack | BikeGearDatabase | RTINGS | GearBox v2.1 |
|---|---|---|---|---|
| Browse without login | Yes (shared list links only) | Yes (all content public) | Yes (fully public) | Yes — all catalog + setups public |
| Discovery landing page | No (login required to see anything) | Yes (editorial feed + categories) | Yes (category browse + new/updated) | Yes — catalog search hero + community feed |
| Global gear catalog | No (fully user-entered) | Editorial reviews only | Product test database | Yes — crowd + agent-seeded with attribution |
| Image attribution | N/A (no images) | Editorial photo credit | Manufacturer-supplied images | Explicit imageCredit + imageSourceUrl fields |
| Community setups visible publicly | Yes (shared list links) | No | No | Yes — public setups with weight data |
| Setup weight analysis | Yes (per list) | No | No | Yes + impact preview |
| Agent-friendly catalog API (MCP) | No | No | No | Yes — unique differentiator |
| SEO catalog pages | No | Yes (editorial articles) | Yes (programmatic product pages) | Target for v2.1.x after crawlability resolved |
| Provenance / source tracking | No | Editorial byline only | "Tested by RTINGS staff" | Yes — sourceType enum, contributedBy, sourceUrl |
Sources
- LighterPack — public list sharing model, community usage patterns. Public browse only via shared links, no general discovery. (MEDIUM confidence, WebSearch)
- Bike Gear Database — public editorial gear catalog, category browse patterns, ~30k monthly visitors. (MEDIUM confidence, WebSearch)
- RTINGS SEO Case Study — Ahrefs — programmatic SEO via catalog pages, category-based navigation, discovery-oriented layout. (MEDIUM confidence)
- NN/G E-commerce Homepages and Listing Pages — subcategory surfacing above listings improves discoverability; 30-50% of product interactions come from unintended category navigation. (HIGH confidence)
- Sales Layer MCP Server for catalog enrichment — agent-powered product information management, bulk update patterns, audit and quality scoring via MCP tools. (MEDIUM confidence)
- Creative Commons Attribution Best Practices — TASL attribution standard; attribution must be visible and associated with the image. (HIGH confidence)
- Pixsy Image Credits Guide — legal requirements and UX placement for image credits; "image courtesy of" as standard phrasing. (HIGH confidence)
- GS1 Image Standards — product image metadata standards including GTIN linkage and consistent attribution for catalog platforms. (MEDIUM confidence)
- PROJECT.md — existing feature set, out-of-scope decisions, constraints, v2.1 milestone definition. (HIGH confidence, first-party)
Feature research for: GearBox v2.1 Public Discovery — public-first gear discovery platform Researched: 2026-04-09