193 lines
14 KiB
Markdown
193 lines
14 KiB
Markdown
# 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*
|