# Feature Research **Domain:** Self-hosted AI-powered hardware inventory management (homelab) **Researched:** 2026-04-09 **Confidence:** MEDIUM-HIGH (training knowledge + web research; AI intake patterns are novel) ## Feature Landscape ### Table Stakes (Users Expect These) Features users assume exist. Missing these = product feels incomplete. | Feature | Why Expected | Complexity | Notes | |---------|--------------|------------|-------| | Asset record CRUD | Fundamental inventory operation — without this there's no product | LOW | Delegated to NetBox via API; HWLab provides the UI layer | | Unique asset identifiers | Every inventory tool assigns IDs; users expect stable references | LOW | HW-XXXXX scheme; NetBox asset_tag field | | Asset search / filter | Users need to find items by name, serial, category | LOW | Table search + AI natural language; NetBox query API | | Asset status tracking | "Available / In Use / Retired / Unknown" is baseline expectation | LOW | NetBox status field; surfaced in dashboard | | Category / type classification | Users expect grouping by device type (server, cable, SFP, etc.) | LOW | NetBox device types + custom tags | | Manufacturer + model fields | Every ITAM tool tracks make/model; users expect this | LOW | NetBox native fields, populated by AI intake | | Serial number field | Required for warranty claims, RMA, deduplication | LOW | NetBox native field; extracted by AI from photo | | Location / rack / site tracking | Physical placement is core to homelab inventory | MEDIUM | NetBox rack/location hierarchy; populated during intake | | Attachment / photo storage | Attaching a photo to a record is expected in any modern ITAM tool | LOW | Photo stored in NetBox attachment; used as intake source | | Audit trail / history | Who did what, when — expected in any system managing physical assets | MEDIUM | NetBox change log; surfaced in record detail | | Export capability | Users expect to get their data out (CSV, JSON) | LOW | NetBox REST API; direct export via UI or API | | Label / tag printing | Physical assets need physical labels — QR or barcode is standard | MEDIUM | PRT Qutie via USB; thermal ZPL or ESC/POS printing | ### Differentiators (Competitive Advantage) Features that set the product apart. Not required, but valued. | Feature | Value Proposition | Complexity | Notes | |---------|-------------------|------------|-------| | AI photo intake (zero-entry) | Upload photo → record created — eliminates manual data entry for 80–90% of items | HIGH | Gemma 4 via oMLX; multimodal vision + structured extraction | | Three-tier AI escalation | Local-first (Gemma 4) → research agent (OpenRouter) → Lab Advisor (Opus) — cost-optimal and offline-capable | HIGH | Tier routing logic is the novel architectural piece | | Lab Advisor chat | Strategic homelab Q&A backed by full inventory context — no other ITAM tool offers this | HIGH | Claude Opus via OpenRouter; context injection from NetBox | | Cable test workflow integration | Automated cable continuity results attached to cable records — unique to physical-lab use cases | HIGH | Treedix USB/DP/HDMI + FNIRSI FNB58; USB serial parsing | | Live USB power measurement | FNIRSI FNB58 readings (voltage, current, watt) captured and stored against cable/PSU records | HIGH | USB serial; firmware-level protocol reverse engineering | | Catalog quality gate | Draft → indexed → needs_research → researched → complete lifecycle prevents "garbage in, garbage out" | MEDIUM | State machine on NetBox custom field; AI drives transitions | | SearXNG product research | AI agent uses private search instance to auto-fill missing specs, EAN/part numbers, pricing | MEDIUM | OpenRouter agent + SearXNG JSON API already available | | Natural language inventory search | "Show me all SFP+ modules I haven't tested" — no SQL required | MEDIUM | LLM query translation → NetBox API filter; local Gemma 4 | | NetBox as data store (not a silo) | All data lives in NetBox — reachable by existing NetBox integrations, Ansible, Terraform, etc. | MEDIUM | Constraint that becomes a feature; no vendor lock-in to HWLab | | Fully offline operation | Standard intake, search, label print work with no internet — OpenRouter only for Tier 2/3 | MEDIUM | Local Gemma 4 + local NetBox + USB printer; already architectured | | Universal HW-XXXXX ID scheme | Category-agnostic stable IDs printed on QR labels — works for cables, SFPs, servers equally | LOW | ID assigned at intake; encoded in QR URL | ### Anti-Features (Commonly Requested, Often Problematic) | Feature | Why Requested | Why Problematic | Alternative | |---------|---------------|-----------------|-------------| | Multi-user / RBAC | "What if someone else needs access?" | Solo operator tool — RBAC adds schema, middleware, UI complexity with zero immediate payoff | NetBox has RBAC if truly needed; HWLab inherits it | | Real-time collaboration / chat | Looks modern, like Slack for inventory | Websockets, presence, conflict resolution — massive complexity for a single-operator homelab | Lab Advisor chat is async and single-session; sufficient | | Mobile companion app / PWA | "I want to scan in the rack" | Separate build pipeline, offline sync, camera API surface area — diverges from web-first | Responsive web UI is good enough for homelab bench work | | SNMP / network auto-discovery | "Discover everything automatically" | SNMP is unreliable for physical inventory; discovers only what's online; misses cables, SFPs, offline gear | AI photo intake covers the full physical layer including dark equipment | | Barcode scanner (USB HID) | Fast intake for bulk items | USB HID scanners are commodity; the value is in AI vision, not scan-gun ergonomics | Photo intake is more universal; scanner can be added later as an enhancement | | Bulk CSV import | "I have a spreadsheet already" | Creates data quality debt immediately; bypasses quality gate and AI enrichment pipeline | Migrate via NetBox native import; use AI intake as the canonical path | | Predictive failure / warranty alerts | "Alert me when warranty expires" | Date tracking is simple but alert infrastructure (email, push, cron) is disproportionate to homelab context | Add expiry dates as custom fields; query via Lab Advisor when needed | | Network topology auto-update | Reflect cable changes in NetBox topology diagrams | Topology inference from cable test results is ambiguous; NetBox topology is already manually maintained | Cable test results stored as records; topology updates remain manual | | Local LLM fine-tuning UI | "Train it on my specific hardware" | MLX fine-tuning is a separate workload; out-of-scope for an inventory tool | Prompt engineering + SearXNG research agent handles novel hardware adequately | ## Feature Dependencies ``` [NetBox API connectivity] └──requires──> [All inventory CRUD operations] └──requires──> [AI intake record creation] └──requires──> [Natural language search] └──requires──> [Lab Advisor context injection] [AI photo intake] └──requires──> [oMLX + Gemma 4 setup] └──requires──> [NetBox API connectivity] └──requires──> [NetBox custom fields schema] └──enhances──> [Catalog quality gate] (sets initial state to "indexed") [Three-tier AI escalation] └──requires──> [AI photo intake] (Tier 1 base) └──requires──> [OpenRouter API key] (Tiers 2+3) └──requires──> [SearXNG connectivity] (Tier 2 research) [QR label printing] └──requires──> [HW-XXXXX ID assignment] (at intake) └──requires──> [PRT Qutie USB driver / protocol] (hardware arrives 2026-04-13) └──enhances──> [AI photo intake] (print label as final intake step) [Cable test workflow] └──requires──> [NetBox API connectivity] (attach results to cable records) └──requires──> [Treedix / FNIRSI USB serial protocol] (hardware arrives 2026-04-13) └──enhances──> [Catalog quality gate] (test result moves cable to "complete") [Lab Advisor chat] └──requires──> [NetBox API connectivity] (inventory context) └──requires──> [OpenRouter API key] (Opus model) └──enhances──> [Natural language search] (richer Q&A vs bare search) [Natural language search] └──requires──> [oMLX + Gemma 4 setup] (local query translation) └──requires──> [NetBox API connectivity] [Catalog quality gate] └──requires──> [NetBox custom fields schema] (status field) └──enhances──> [AI photo intake] (drives research escalation) └──enhances──> [Cable test workflow] (marks completion) ``` ### Dependency Notes - **NetBox API connectivity is the foundation**: Every feature reads or writes through it. NetBox setup (custom fields, netbox-inventory plugin) must be Phase 1. - **oMLX + Gemma 4 requires hardware verification**: 26B A4B variant needs TurboQuant testing on Mac Mini M4 16GB. If it doesn't fit, fall back to E4B. This gates all AI intake features. - **USB hardware arrives 2026-04-13**: Label printing and cable testing are blocked until then. Protocol reverse engineering is a separate workload. - **QR label printing enhances but doesn't block intake**: A record can be created without a label; printing is the final step. - **Lab Advisor requires OpenRouter** — it's the only feature with a hard cloud dependency (Opus is too large for local inference). ## MVP Definition ### Launch With (v1) Minimum viable to validate the core value proposition (photo → record → label, zero manual entry). - [ ] NetBox connectivity + custom fields schema — all features depend on this - [ ] AI photo intake via Gemma 4 (Tier 1) — the core differentiator, must validate - [ ] HW-XXXXX ID assignment at intake — required for QR label content - [ ] QR label printing via PRT Qutie — closes the intake loop physically - [ ] Catalog quality gate (draft/indexed/complete minimum) — prevents garbage records - [ ] Inventory dashboard with basic search — users need to find what they cataloged - [ ] Natural language search (basic) — validates the AI search value prop ### Add After Validation (v1.x) Add once core photo → record → label loop is validated. - [ ] SearXNG research agent (Tier 2) — add when Tier 1 produces records with gaps - [ ] Lab Advisor chat (Tier 3) — add after inventory has enough data to be useful for Q&A - [ ] Cable test workflow (Treedix + FNIRSI) — add once USB protocol is understood - [ ] Full catalog quality gate state machine (all 5 states) — add after MVP states work ### Future Consideration (v2+) - [ ] Barcode scanner HID support — only if photo intake proves too slow for high-volume intake - [ ] Bulk import / migration mode — only if migrating from an existing spreadsheet becomes a real need - [ ] Advanced audit trail UI — NetBox change log is sufficient for v1 - [ ] Export / reporting views — NetBox API already provides this; UI wrapper is low priority ## Feature Prioritization Matrix | Feature | User Value | Implementation Cost | Priority | |---------|------------|---------------------|----------| | NetBox API + custom fields setup | HIGH | LOW | P1 | | AI photo intake (Gemma 4 Tier 1) | HIGH | HIGH | P1 | | HW-XXXXX ID scheme | HIGH | LOW | P1 | | QR label printing (PRT Qutie) | HIGH | HIGH (USB protocol) | P1 | | Inventory dashboard + basic search | HIGH | MEDIUM | P1 | | Natural language search | HIGH | MEDIUM | P1 | | Catalog quality gate | MEDIUM | MEDIUM | P1 | | SearXNG research agent (Tier 2) | MEDIUM | MEDIUM | P2 | | Lab Advisor chat (Tier 3 / Opus) | HIGH | MEDIUM | P2 | | Cable test workflow (Treedix) | MEDIUM | HIGH (USB protocol) | P2 | | USB power measurement (FNIRSI) | MEDIUM | HIGH (USB protocol) | P2 | | Audit trail UI | LOW | LOW | P3 | | Export / reporting | LOW | LOW | P3 | | Barcode scanner HID | LOW | LOW | P3 | **Priority key:** - P1: Must have for launch - P2: Should have, add when possible - P3: Nice to have, future consideration ## Competitor Feature Analysis | Feature | NetBox (standalone) | Snipe-IT | Homebox | HWLab approach | |---------|---------------------|----------|---------|----------------| | Asset CRUD | Yes — full API + UI | Yes | Yes (home focus) | Delegates to NetBox | | Photo intake / AI vision | No | No | Photo attachments only | AI extracts structured data from photo | | Label printing | No native | Barcode labels | No | QR thermal label via PRT Qutie at intake | | Natural language search | No | No | No | Local Gemma 4 query translation | | AI chat / advisor | No | No | No | Lab Advisor via Opus + full inventory context | | Cable test integration | No | No | No | Direct USB integration with Treedix/FNIRSI | | Quality gate / lifecycle | No | Asset status only | No | 5-state AI-driven catalog lifecycle | | Network documentation | Full (DCIM) | No | No | Inherits via NetBox | | Self-hosted | Yes | Yes | Yes | Yes — all components local | | Offline operation | Yes | Partial | Yes | Yes — Tier 1 AI + label print fully offline | ## Sources - NetBox feature set: https://github.com/netbox-community/netbox (training knowledge, HIGH confidence) - Snipe-IT feature set: https://github.com/grokability/snipe-it + https://blog.invgate.com/snipe-it-alternative (WebSearch + training, HIGH confidence) - Homebox (home inventory): https://selfh.st/post/homebox/ (WebSearch, MEDIUM confidence) - netbox-inventory plugin: https://github.com/ArnesSI/netbox-inventory (WebSearch, MEDIUM confidence) - ITAM industry standards: training knowledge (MEDIUM confidence — verify against current tool feature lists) - AI photo intake patterns: training knowledge, no direct competitor exists (LOW confidence for "zero-entry" claims — validate after v1) --- *Feature research for: AI-powered self-hosted homelab hardware inventory (HWLab)* *Researched: 2026-04-09*