Last updated

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

  1. No product visibility - Sidebar shows "Messages Management," "Memory Management," "Document Processing" but not clear these are separate products
  2. Mixed abstraction levels - "Graph-aware embeddings" sits next to "Message Compression" but one is optional feature, other is core product
  3. Bundle confusion - Can't tell if you need just vector search or full knowledge graph
  4. Integration unclear - How does AI proxy relate to memory? Are they separate purchases?

Seven Products Identified

ProductCurrent Doc CoverageAPI EndpointsStandalone?
1. AI Model ProxyScattered mentions/v1/ai/*✅ Yes
2. Chat MemoryMessages Management + Compression/v1/messages✅ Yes
3. Vector MemoryMemory Management + Retrieval/v1/memory, /v1/memory/search✅ Yes
4. Document IntelligenceDocument Processing guide/v1/document✅ Yes (optional integration with Vector/Chat)
5. Knowledge GraphsGraph Generation + Custom Schemas + GraphQL/v1/schemas, /v1/graphql, memory_policy⚠️ Addon to Vector or Chat Memory
6. Graph-Aware SearchNew guide (just added)enable_holographic, holographic_config⚠️ Addon to Vector Memory
7. Sync & PortabilityPortability guide/v1/sync/*, /v1/omo/*⚠️ Cross-product feature

Proposed Structure

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 Bundles

Each product page answers:

  1. What it does (1 sentence)
  2. When to use it (decision criteria)
  3. Standalone or addon? (dependencies)
  4. Key capabilities (bullet list)
  5. Quick start (5-minute example)
  6. 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.md

Option 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)

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 Tree

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 conversations

Implementation Plan

Phase 1: Product Overview (1-2 hours)

  1. Create overview/products.md with product comparison
  2. Update homepage to link to products
  3. Add product section to sidebar

Phase 2: Product Badges (30 min)

  1. Add frontmatter to existing guides
  2. Render badge component (if theme supports, or just text header)

Phase 3: Decision Support (1 hour)

  1. Update overview/decision-tree.md to reference products
  2. Add "Common Bundles" section to products page
  3. Update overview/capability-matrix.md with product column

Phase 4: Polish (30 min)

  1. Cross-link products in each guide intro
  2. Update quickstart index to show which products each quickstart uses
  3. 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

  1. Pricing implication? - Are these actually separate SKUs or just documentation structure?
  2. AI Proxy positioning - Is this a separate product or part of memory products?
  3. Feature vs Product line - Is Sync a product or feature? (Recommendation: Cross-product feature)
  4. 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.