Product-First Documentation Structure
Problem Statement
Papr has evolved into seven distinct products, but docs are organized by API endpoints/features rather than products. Developers can't easily answer:
- "What products does Papr offer?"
- "Which product do I need for my use case?"
- "How do products work together vs standalone?"
Current Issues
- No product visibility - Sidebar shows "Messages Management," "Memory Management," "Document Processing" but not clear these are separate products
- Mixed abstraction levels - "Graph-aware embeddings" sits next to "Message Compression" but one is optional feature, other is core product
- Bundle confusion - Can't tell if you need just vector search or full knowledge graph
- Integration unclear - How does AI proxy relate to memory? Are they separate purchases?
Seven Products Identified
| Product | Current Doc Coverage | API Endpoints | Standalone? |
|---|---|---|---|
| 1. AI Model Proxy | Scattered mentions | /v1/ai/* | ✅ Yes |
| 2. Chat Memory | Messages Management + Compression | /v1/messages | ✅ Yes |
| 3. Vector Memory | Memory Management + Retrieval | /v1/memory, /v1/memory/search | ✅ Yes |
| 4. Document Intelligence | Document Processing guide | /v1/document | ✅ Yes (optional integration with Vector/Chat) |
| 5. Knowledge Graphs | Graph Generation + Custom Schemas + GraphQL | /v1/schemas, /v1/graphql, memory_policy | ⚠️ Addon to Vector or Chat Memory |
| 6. Graph-Aware Search | New guide (just added) | enable_holographic, holographic_config | ⚠️ Addon to Vector Memory |
| 7. Sync & Portability | Portability guide | /v1/sync/*, /v1/omo/* | ⚠️ Cross-product feature |
Proposed Structure
Option A: Product Hub (Recommended)
Add a Products/ section between Overview and Guides:
- group: Products
page: products/index.md # "Which product do you need?"
items:
- page: products/ai-proxy.md
label: AI Model Proxy
- page: products/chat-memory.md
label: Chat Memory
- page: products/vector-memory.md
label: Vector Memory
- page: products/knowledge-graphs.md
label: Knowledge Graphs
- page: products/graph-aware-search.md
label: Graph-Aware Search
- page: products/document-intelligence.md
label: Document Intelligence
- separator: Product Bundles
- page: products/bundles.md
label: Common BundlesEach product page answers:
- What it does (1 sentence)
- When to use it (decision criteria)
- Standalone or addon? (dependencies)
- Key capabilities (bullet list)
- Quick start (5-minute example)
- Deep dive (links to existing guides)
Option B: Tiered Navigation
Reorganize existing sidebar by product tier:
- group: Core Products
items:
- group: Vector Memory
page: guides/memory-management.md
items:
- page: guides/retrieval.md
- page: guides/search-tuning.md
- group: Chat Memory
page: guides/messages-management.md
items:
- page: guides/message-compression.md
- group: Document Intelligence
page: guides/document-processing.md
- group: Advanced Products (Add-ons)
items:
- group: Knowledge Graphs
page: guides/graph-generation.md
items:
- page: guides/graph-control.md
- page: guides/custom-schemas.md
- page: guides/graphql-analysis.md
- group: Graph-Aware Search
page: guides/graph-aware-embeddings.mdOption C: Hybrid (Best of Both)
Keep guides technical, add Products overview section:
Overview/
- index.md (current)
- products.md (NEW - product comparison matrix)
- ai-proxy.md (NEW)
- chat-memory.md (NEW)
- vector-memory.md (NEW)
- knowledge-graphs.md (NEW)
- graph-aware-search.md (NEW)
- document-intelligence.md (NEW)
- product-bundles.md (NEW)
Guides/
(Keep current structure, but add "Product: X" label at top of each guide)Recommended: Hybrid Approach
1. Create overview/products.md - Product Comparison
# Papr Products
Papr offers seven products that work standalone or together:
## Core Products (Standalone)
### 1. Vector Memory
**One sentence:** Store and retrieve information using semantic search.
**When to use:** Basic RAG, semantic search, memory without relationships
**API:** `POST /v1/memory`, `POST /v1/memory/search`
**Addons:** Knowledge Graphs, Graph-Aware Search
**[Quick start →](../quickstart/index.md) | [Deep dive →](../guides/memory-management.md)**
### 2. Chat Memory
**One sentence:** Store conversation history with automatic compression and memory extraction.
**When to use:** Chatbots, conversational AI, session management
**API:** `POST /v1/messages`, `GET /v1/messages/sessions/{id}`
**Addons:** None (standalone)
**[Quick start →](../quickstart/chat-memory.md) | [Deep dive →](../guides/messages-management.md)**
### 3. Document Intelligence
**One sentence:** Extract structured information from PDFs and documents with intelligent analysis.
**When to use:** Document extraction, classification, contract analysis, research papers
**API:** `POST /v1/document`, `GET /v1/document/status/{id}`
**Optional integration:** Vector Memory (for search), Knowledge Graphs (for relationships)
**[Quick start →](../quickstart/document-memory.md) | [Deep dive →](../guides/document-processing.md)**
### 4. AI Model Proxy
**One sentence:** Unified API to call multiple LLM providers with usage tracking.
**When to use:** Multi-model applications, cost tracking, fallback logic
**API:** `/v1/ai/openai/*`, `/v1/ai/anthropic/*`, `/v1/ai/usage`
**Addons:** None (standalone)
**[API reference →](../apis/index.yaml)**
## Advanced Products (Addons)
### 5. Knowledge Graphs
**One sentence:** Extract entities and relationships from memories into a queryable graph.
**Requires:** Vector Memory OR Chat Memory
**When to use:** Need to understand relationships, not just similarity
**API:** `memory_policy`, `POST /v1/graphql`, `POST /v1/schemas`
**[Quick start →](../quickstart/structured-data-memory.md) | [Deep dive →](../guides/graph-generation.md)**
### 5. Graph-Aware Search
**One sentence:** Domain-tuned embeddings that filter by structured dimensions (language, topic, etc.)
**Requires:** Vector Memory
**When to use:** Baseline search isn't precise enough for your domain
**API:** `enable_holographic`, `holographic_config`, `/v1/frequencies`
**[Decision tree →](../guides/graph-aware-embeddings.md#do-you-need-graph-aware-embeddings) | [Deep dive →](../guides/graph-aware-embeddings.md)**
### 6. Document Intelligence
**One sentence:** Extract structured information from PDFs/docs and create searchable memories.
**Requires:** Vector Memory OR Chat Memory (creates memories)
**When to use:** PDF Q&A, document analysis, knowledge extraction
**API:** `POST /v1/document`, `GET /v1/document/status/{id}`
**[Quick start →](../quickstart/document-memory.md) | [Deep dive →](../guides/document-processing.md)**
## Cross-Product Features
### 7. Sync & Portability
**One sentence:** Keep local/edge memory in sync with cloud and export/import memories.
**Works with:** All memory products
**API:** `/v1/sync/*`, `/v1/omo/*`
**[Deep dive →](../guides/portability-and-sync.md)**
---
## Common Product Bundles
### Conversational AI Stack
**Products:** Chat Memory + Vector Memory
**Use case:** Chatbot that remembers user preferences across sessions
**Example:** Store chat in sessions, extract long-term facts to Vector Memory
### Document Q&A System
**Products:** Document Intelligence + Vector Memory + Knowledge Graphs
**Use case:** "Ask questions about uploaded docs"
**Example:** Upload PDFs → Extract entities/relationships → Search with graph context
### Code Search Platform
**Products:** Vector Memory + Graph-Aware Search (cosqa schema)
**Use case:** Find code snippets by natural language
**Example:** "How do I sort arrays in Python?" returns only Python methods
### Multi-Model Agent Platform
**Products:** AI Proxy + Chat Memory + Vector Memory
**Use case:** Agent that remembers context and calls multiple LLMs
**Example:** Track costs across OpenAI/Anthropic, compress chat history, search memory
---
## Decision Flow
**Start here:** What are you building?
1. **"Just need semantic search"** → Vector Memory (standalone)
2. **"Chatbot with memory"** → Chat Memory (standalone) OR Chat + Vector (if cross-session recall needed)
3. **"Document Q&A"** → Document Intelligence + Vector Memory
4. **"Need relationships, not just similarity"** → Vector Memory + Knowledge Graphs
5. **"Search isn't precise enough"** → Vector Memory + Graph-Aware Search (evaluate first)
6. **"Multi-model app with memory"** → AI Proxy + Vector/Chat Memory
**Next:** See [Capability Matrix](./capability-matrix.md) for endpoint-level mapping.2. Add Product Labels to Existing Guides
Add frontmatter to each guide:
---
title: Messages Management
product: Chat Memory
product_type: core
---Then render a product badge at the top of each guide page.
3. Update Homepage (index.page.tsx)
Add a "Products" section after "Why Papr":
<Section>
<SectionTitle>Products</SectionTitle>
<Cards columns={3}>
<Card
title="Vector Memory"
description="Semantic search and RAG foundation"
link="/overview/products#vector-memory"
/>
<Card
title="Chat Memory"
description="Conversation storage + compression"
link="/overview/products#chat-memory"
/>
<Card
title="AI Model Proxy"
description="Unified multi-model API"
link="/overview/products#ai-proxy"
/>
<Card
title="Knowledge Graphs"
description="Entity relationships (addon)"
link="/overview/products#knowledge-graphs"
/>
<Card
title="Graph-Aware Search"
description="Domain-tuned retrieval (addon)"
link="/overview/products#graph-aware-search"
/>
<Card
title="Document Intelligence"
description="PDF/doc extraction"
link="/overview/products#document-intelligence"
/>
</Cards>
</Section>4. Update Sidebar (sidebars.yaml)
Add product reference at Overview level:
- group: Overview
page: overview/index.md
items:
- page: overview/products.md # NEW
label: Products Overview
- separator: Choose Your Product
- page: overview/decision-tree.md
label: Decision Tree5. Cross-Link Products in Guides
At the top of each guide, add a product context box:
> **Product:** [Vector Memory](/overview/products#vector-memory) (Core)
> **Works with:** Knowledge Graphs (addon), Graph-Aware Search (addon)
> **Alternative:** [Chat Memory](/overview/products#chat-memory) if you only need conversationsImplementation Plan
Phase 1: Product Overview (1-2 hours)
- Create
overview/products.mdwith product comparison - Update homepage to link to products
- Add product section to sidebar
Phase 2: Product Badges (30 min)
- Add frontmatter to existing guides
- Render badge component (if theme supports, or just text header)
Phase 3: Decision Support (1 hour)
- Update
overview/decision-tree.mdto reference products - Add "Common Bundles" section to products page
- Update
overview/capability-matrix.mdwith product column
Phase 4: Polish (30 min)
- Cross-link products in each guide intro
- Update quickstart index to show which products each quickstart uses
- Add product filters to tutorials index (optional)
Benefits
For Developers
- Clear product boundaries - "I need X, not Y and Z"
- Faster decisions - Decision tree → Product → Guide
- Bundle guidance - "Oh, Document Intelligence needs Vector Memory"
For Sales/Marketing
- Clear SKUs - Can price/package products independently
- Upsell path - Vector → +Knowledge Graphs → +Graph-Aware
- Competitive positioning - "Pinecone is just vector, we have 7 products"
For Support
- Triage faster - "Which product is the issue in?"
- Feature scope - "That's in Knowledge Graphs addon, not Vector Memory"
Open Questions
- Pricing implication? - Are these actually separate SKUs or just documentation structure?
- AI Proxy positioning - Is this a separate product or part of memory products?
- Feature vs Product line - Is Sync a product or feature? (Recommendation: Cross-product feature)
- Quickstart mapping - Should each quickstart state which products it uses?
Alternative: Keep Current Structure
If product separation isn't a business requirement, an alternative is:
"Capabilities" instead of "Products"
- Keep current sidebar
- Add a "Capabilities Overview" page that groups features
- No separate product pages, just better cross-linking
This is lower risk but doesn't solve the "what products do you offer?" question.