# Install & Repair Guides — Reasoning & Recommendations

**Companion to:** [feature-design-guidelines.md](feature-design-guidelines.md), [volume-discount-concepts.md](volume-discount-concepts.md)
**Live preview:** PDP at https://demo.thecxlabs.com/v2/pdp.html (click the *Guides & Videos* tab; on mobile, the floating button at bottom-right opens it)
**Date:** May 2026

This document explains how to surface OEM-supplied installation and repair documentation — PDFs, videos, parts diagrams — on USA Clean's PDPs in a mobile-friendly way that makes the content actually findable.

---

## TL;DR

Add a **"Guides & Videos" tab** to the PDP tab strip with a grid of doc cards: install PDFs, repair PDFs, install videos with thumbnails, parts diagrams, service bulletins. On mobile, surface a **sticky floating "Guides & Videos" button** that anchors directly to the tab — solves the "can't find the manual on my phone" problem that B2B techs run into in the field.

The data layer is **BC Stencil Product Custom Fields + a few admin-managed file uploads per SKU**. No app required for the basic version. Videos are external embeds (YouTube unlisted or Vimeo).

| Phase | Surface | Effort |
|---|---|---|
| **Phase 1** _(Pilot)_ | Guides & Videos tab on PDP with up to 8 doc cards per SKU. Mobile sticky button. Side-bar quick-link list (already on prototype) cross-references the same docs. | **Low** — Stencil custom fields + theme template edits |
| **Phase 2** _(Iterate)_ | Doc auto-association by model (every part inherits its model's manual). Inline video player (modal) without leaving the PDP. Document version tracking. | Medium — admin automation + theme JS |
| **Phase 3** _(Future)_ | Interactive exploded-view parts diagrams (click a part in the diagram → add to cart). Searchable doc index across the catalog. | Higher — typically a marketplace app or Catalyst-replatform candidate |

---

## Current state

The current PDP shows a small "Documentation" sidebar list (Diagrams / Manuals / Bulletins / Videos / Repair Guides / Other Docs) with bare link entries. On mobile, this sidebar is below the fold — buyers can't find it without scrolling. The links also lead to a generic library page rather than the specific doc for the SKU being viewed.

**Why it matters:** B2B field technicians often look up parts on their phone *while standing next to the broken machine*. If the install/repair PDF and the install video aren't 1-tap reachable, they call the support line instead — which costs USA Clean staff time and customer trust.

---

## References

### Grainger
Per-product "Resources" tab with downloadable PDFs (SDS sheets, install instructions, spec sheets). No inline video. Mobile-responsive but no sticky access.

### McMaster-Carr
Doc downloads live as inline icons on the PDP — direct links to the spec sheet, CAD file, and material certs. No video. McMaster's product detail page is the cleanest doc-access pattern in B2B.

### HD Supply
Resources tab on PDPs with PDFs. Some products embed YouTube install videos.

### Tennant.com
OEM site embeds install + maintenance videos inline on equipment pages. Strongest video pattern in the floor-cleaning B2B niche; lift directly.

### Home Depot
"How-to" videos embedded inline with thumbnail + click-to-play modal. Their video pattern is the clearest mobile UX — sticky thumb that auto-pauses on scroll.

---

## What BC Stencil gives us

- **Product Custom Fields** ([BC Help](https://support.bigcommerce.com/s/article/Product-Custom-Fields)) — unlimited custom name/value pairs per product. Map: `manual_pdf_url`, `install_pdf_url`, `repair_pdf_url`, `install_video_url`, `parts_diagram_url`, `service_bulletin_url`. Free, native, queryable in the product template loop.
- **File uploads via Channel Manager** — PDFs stored as catalog assets. Get back a public CDN URL. Free.
- **Catalog API** — `/v3/catalog/products/{product_id}/custom-fields` reads/writes the fields programmatically. Useful for bulk-importing the OEM doc library.
- **Stencil templates** — `templates/components/products/` partials can iterate `product.custom_fields` and conditionally render any field that starts with `doc_` or `video_`.
- **CDN** — Stencil's built-in CDN serves the PDFs fast globally; no third-party hosting needed for static docs.

**Sources:** [BC Custom Fields](https://support.bigcommerce.com/s/article/Product-Custom-Fields), [BC Catalog API](https://developer.bigcommerce.com/docs/rest-management/catalog/products), [BC Stencil Product Template](https://developer.bigcommerce.com/docs/storefront/stencil/themes/product).

---

## Stencil limitations

- **No native UI for grouping docs by type** in the product admin. Each custom field is loose — `install_pdf_url`, `repair_pdf_url`, `install_video_url` etc. — and admins maintain them by convention. Phase 2 could add a custom admin app or a Google-Sheet-driven import.
- **No native video player.** Stencil renders the URL; the customer-facing UI either embeds a `<video>` tag (only if MP4 self-hosted), an iframe (YouTube/Vimeo), or a click-out link. Self-hosting video on BC isn't economical past a few clips.
- **No inline PDF viewer.** PDFs open in a new tab or download. Acceptable for B2B but not as smooth as a modal viewer. Phase 2 candidate.
- **No version control on uploaded PDFs.** Reuploading a "new version" of a manual replaces the old. No revision history. Workaround: include a date in the filename + a `doc_version_date` custom field rendered as metadata.
- **No native doc-search across the catalog.** Customers searching "service bulletin 2026" via header search won't find the PDF unless its filename is indexed in the product's searchable fields. Phase 3 candidate — typically needs a third-party search app (Klevu, Searchspring) or Catalyst.

---

## App marketplace shortlist

| App | What it does | Worth it now? |
|---|---|:---:|
| **(Native) Product Custom Fields + Theme templates** | Renders any doc URL configured in the admin. | ✅ Use this. |
| **[FAQ Pro by Hulkapps](https://www.bigcommerce.com/apps/faq-pro/)** | Inline FAQ + doc-link block per product. Can host install Q&A alongside docs. | Maybe — useful if we want Q&A pattern beyond just docs. |
| **[Brightcove Video Cloud](https://www.brightcove.com/)** (off-marketplace) | Enterprise video hosting with adaptive streaming. | Skip in Phase 1 — overkill. YouTube unlisted + Vimeo cover the use case. |
| **YouTube Unlisted + iframe embed** | Free, fast, accessible. Customer never has to sign in to view. Mobile-optimized player. | ✅ Use this for video. |
| **[Hover Carousels / Galleries](https://www.bigcommerce.com/apps/category/displays-buttons/)** | Various apps that gallery-ify additional images. Some allow PDF thumbnails. | Skip — built-in pattern handles this fine. |
| **[Klevu / Searchspring](https://www.bigcommerce.com/apps/category/search/)** | Site search that indexes PDF content (search inside the manual). | **Phase 3** — heavy lift, but high value if catalog has hundreds of PDFs and a "search inside a manual" use case emerges. |

---

## Caster impact

**New pattern: `.doc-grid` + `.doc-card`**
- Responsive grid of doc cards (PDFs + videos + diagrams)
- Card variants: `--pdf` (light dashed thumb), `--video` (dark thumb with play overlay)
- Doc type pill in the thumb corner
- Mobile cards stack to full width
- Promote to Caster `/patterns/` once a second consumer arrives (likely the Model Landing Page in Feature 4)

**New mobile pattern: `.docs-mobile-sticky`**
- Floating action button (FAB) anchored to the Guides & Videos tab
- Brand-blue pill with icon + label
- Hidden above 760px (desktop has the tab strip; FAB is mobile-only)
- Standard mobile B2B field-technician UX

**Sidebar `.pdp-docs` list** stays — it's the quick-link index that links into the same docs. Now redundant with the tab content; the brief recommends keeping both because the sidebar is useful when scrolling the description and the tab content is the rich primary surface.

---

## Phased recommendation

### Phase 1 — Ship the Guides & Videos tab

Inventory the OEM doc library by SKU. For each SKU, populate up to 6 custom fields (`install_pdf_url`, `repair_pdf_url`, `install_video_url`, `parts_diagram_url`, `service_bulletin_url`, plus 1-2 spares). Render the tab. Add the mobile sticky button.

**What "winning" looks like:** measurable drop in "where's the manual?" support tickets. Increased PDP time-on-page for SKUs with video content. Mobile sticky button click-through ≥ 8% on phone visits (proxy for "I'm at the machine, I need the manual").

### Phase 2 — Doc auto-association by model

Most parts share their *model's* manuals. Adding a `compatible_models[]` field to each product (already needed for Feature 4: Model Landing Pages) lets us auto-pull the model's master doc set when the part has no SKU-specific overrides. Halves the merch effort for new SKUs.

**Trigger:** when ≥30 new SKUs/month are coming in and merch can't keep up with doc-tagging per SKU.

Also Phase 2: inline modal video player so users don't leave the PDP for YouTube.

### Phase 3 — Searchable PDFs + interactive diagrams

Two distinct improvements:

- **PDF-content search** — let header search index inside the PDFs ("service bulletin Apr 2026" finds the right doc). Needs a third-party search app or Catalyst.
- **Interactive exploded-view diagrams** — click a part in the diagram → add to cart. Strongest B2B pattern (BoeingDistribution, McMaster do this). Either an app like 3DProductPlatform or a Catalyst-replatform feature.

---

## Implementation notes

### Field convention (admin-side)

For every product, populate these Product Custom Fields if applicable:

| Field name | Type | Example |
|---|---|---|
| `install_pdf_url` | URL | https://cdn.bigcommerce.com/.../install-brush-20-soft.pdf |
| `install_pdf_meta` | Text | "2 pages · 480 KB" |
| `repair_pdf_url` | URL | https://... |
| `repair_pdf_meta` | Text | "14 pages · 2.1 MB" |
| `install_video_url` | URL (YouTube/Vimeo) | https://youtu.be/XXXX |
| `install_video_meta` | Text | "Video · 4:32" |
| `parts_diagram_url` | URL | https://... |
| `service_bulletin_url` | URL | https://... |
| `service_bulletin_date` | Date | 2026-05-01 |

### Stencil partial

`templates/components/products/guides-tab.html` iterates the custom_fields object and renders a doc-card for each populated `*_url`. Skips empties.

### Accessibility

- Each doc card is a real `<a>` with `aria-label="Download the [title] PDF, 2 pages, 480 KB"` (or "Watch the [title] video, 4 minutes 32 seconds").
- Video thumbnails have descriptive alt text or `aria-label` on the parent link.
- The mobile sticky button has explicit text + icon; `aria-label="Open Guides and Videos tab"`.
- Tab content respects `prefers-reduced-motion` for any thumbnail hover animations.

### Mobile

- The Guides & Videos tab is the 3rd tab; on phones it's reachable via swipe-scroll on the tab strip. The floating button shortcut bypasses that scroll, which is what makes it useful in the field.
- Doc cards stack to full width below 760px.
- Video thumbnails are 16:9 aspect-ratio boxes; tapping opens YouTube in the mobile app (better than embedded player on mobile data).

### Analytics

- Per-doc click tracking. Which manuals get downloaded matters — drives Phase 2 prioritization (which manuals deserve "Quick add to cart from diagram?").
- Mobile FAB click-through rate by category. If field-tech-heavy SKUs (battery, drive system) have higher FAB clicks, that's signal to enrich those PDPs first.
- Time-on-page differential for SKUs with video vs. without.

---

## Catalyst / replatform candidacy

**Phase 1 ships well in Stencil.** Custom Fields + template iteration is the natural pattern; no friction.

**Phase 2 stays in Stencil** with admin automation (a small script or sheet-driven import) that auto-populates fields for new SKUs based on their model assignment.

**Phase 3 splits:**

- **Searchable PDFs** can ship via Klevu/Searchspring on Stencil without a replatform. Cost-effective if catalog is large.
- **Interactive diagrams** are the candidate for Catalyst. The hotspot-on-image-to-cart pattern is heavy on JS state and React's component model makes it tractable. Stencil can do it but the code becomes brittle. Plan for this in the headless rebuild.

---

## Sources

- [BC Help — Product Custom Fields](https://support.bigcommerce.com/s/article/Product-Custom-Fields)
- [BC Dev — Catalog Products API](https://developer.bigcommerce.com/docs/rest-management/catalog/products)
- [BC Stencil — Product Template Reference](https://developer.bigcommerce.com/docs/storefront/stencil/themes/product)
- [Grainger PDP — Resources tab pattern](https://www.grainger.com/)
- [McMaster-Carr — inline doc icon pattern](https://www.mcmaster.com/)
- [Tennant.com — inline install videos](https://www.tennantco.com/en_us/machines/scrubbers/walk-behind-scrubbers/T500e.html)
- [Home Depot — how-to video pattern](https://www.homedepot.com/)
- [feature-design-guidelines.md](feature-design-guidelines.md) — operating manual
