# Aware Costing — Product Requirements Document (PRD)

---

## Overview

**Product Name:** Aware Costing

**Purpose:** A precision tool for calculating AI operational costs. Users define their product's AI features and the tool calculates accurate cost estimates — enabling informed decisions on pricing, rate limits, and model selection.

**Target Users:** Product teams, developers, and finance/ops personnel who are building or pricing AI-powered products and need to understand the cost implications of their AI feature decisions.

---

## Problem Statement

AI costs are usage-based and variable, but customers expect predictable pricing. Teams building AI products struggle to:

1. Estimate accurate costs for AI features before launch
2. Set appropriate rate limits that balance user experience with margin
3. Compare costs across different models and providers
4. Price their products profitably when AI is a core cost driver

Current approaches rely on vague estimates ("low/medium/high usage") that lead to pricing mistakes and margin surprises.

---

## Solution

Aware Costing provides quantifiable cost estimates based on explicitly defined feature parameters. Users describe what their AI feature does — inputs, outputs, usage volume — and the tool calculates precise cost ranges across multiple models and providers.

---

## Core User Flow

**Happy Path (30 seconds):**
1. Select a feature template (e.g., Chat, Image Generation, Speech-to-Text)
2. Enter usage numbers (calls per user per day, active users)
3. Select model(s) to evaluate
4. View cost estimate

**Full Control (when needed):**
- Customize any parameter — input types, output length, memory, file handling
- Adjusted values override template defaults
- Changed fields visually indicated

---

## UX Requirements

**Single-page interface**
- All content visible — no hidden sections, no accordions, no click-to-expand
- User can scroll and reference any section without navigation

**Visual clustering**
- Related fields grouped together
- Visual flow (spacing, subtle connectors) guides user step by step
- Each cluster represents a logical step in the process

**Live calculation**
- Every input change immediately updates the cost estimate
- No "Calculate" button — results are reactive

**Glanceable results**
- Cost output always visible as user adjusts parameters
- Clear hierarchy: per-call → daily → monthly costs

---

## Feature Templates

Pre-configured starting points with sensible defaults. Organized by category.

### Text Models

| Template | Description |
|----------|-------------|
| Chat | Conversational back-and-forth with memory |
| Summarization | Condense documents or content |
| RAG Search | Retrieval-augmented Q&A with citations |
| Code Generation | Write or edit code |
| Classification | Categorize or label content |
| Extraction | Pull structured data from unstructured text |
| Translation | Convert between languages |

### Image Models

| Template | Description |
|----------|-------------|
| Image Generation | Create images from text prompts |
| Image Editing | Modify existing images with prompts |
| Image Variations | Generate alternatives from source image |

### Audio Models

| Template | Description |
|----------|-------------|
| Speech-to-Text | Convert audio recordings to text |
| Real-time STT | Live streaming transcription |
| Text-to-Speech | Generate spoken audio from text |
| Real-time TTS | Streaming speech output |
| Meeting Notes | Long-form transcription with summarization |

### Vision & Analysis

| Template | Description |
|----------|-------------|
| Image Analysis | Describe or analyze image content |
| Document OCR | Extract text from images or scanned PDFs |
| Visual Q&A | Answer questions about images |

### Video Models

| Template | Description |
|----------|-------------|
| Video Generation | Create video from prompts or images |
| Video Analysis | Analyze and describe video content |

---

## Feature Definition Parameters

### For Text Models

**Input parameters:**
- Input types (text, file attachments, images, audio)
- Average input length (tokens or descriptive labels)
- File handling (size caps, page limits)
- Conversation memory (none, last N turns, full history, RAG retrieval)
- System prompt size

**Output parameters:**
- Response type (short answer, paragraph, structured JSON, long-form)
- Average response length (tokens)
- Chain-of-thought reasoning toggle

### For Image Models

- Resolution (1024x1024, 1024x1792, etc.)
- Quality tier (standard, HD)
- Images per request

### For Speech-to-Text

- Average audio duration per call
- Features (timestamps, speaker diarization, language detection)

### For Text-to-Speech

- Average response length (characters or words)
- Voice quality (standard, neural, HD)

### For Video Models

- Duration (seconds)
- Resolution and quality
- Frame rate or sampling rate (for analysis)

### For All Templates

- Calls per user per day
- Number of active users
- Peak buffer multiplier (1x, 1.5x, 2x)

---

## Model Selection

**Selection modes:**
- Targeted: User selects specific models to compare
- Show all: Display all available models grouped by provider

**Filtering:**
- By provider (Anthropic, OpenAI, Google, ElevenLabs, etc.)
- By category (text, image, audio, video)
- By budget tier

**Persistence:**
- Selection saved per feature/project

---

## Pricing Units

| Category | Pricing Unit |
|----------|--------------|
| Text LLMs | Per million tokens (input/output separately) |
| Image Generation | Per image |
| Speech-to-Text | Per minute of audio |
| Text-to-Speech | Per 1,000 characters |
| Vision/Analysis | Per image or per token (model-dependent) |
| Video Generation | Per second of video |
| Video Analysis | Per minute of video |

---

## Cost Calculation Output

**Display:**
- Per-call cost
- Daily cost
- Monthly cost

**Ranges:**
- Base estimate (expected usage)
- P90 (realistic high — accounts for variance)
- P99 (worst case — peak scenarios)

**Margin calculation (optional input):**
- User enters their price point (e.g., $29/user/month)
- Tool displays margin percentage at each estimate level

---

## Pricing Transparency Requirements

**For every model price, display:**
- Exact rate in appropriate unit
- Source URL (direct link to provider's pricing page)
- Last verified date
- Verification status indicator

**Status indicators:**
- ✓ Fresh (verified within 7 days)
- ⚠ Stale (8-30 days since verification)
- ✗ Outdated (30+ days)
- ✎ Overridden (user-provided value)

**Refresh mechanism:**
- Manual only — user clicks a button to check for updates
- Button label: "Check for price updates" with clear description
- No automatic background scraping

**Pricing data rules:**
- Use baseline pay-as-you-go rates only
- Do not include volume discounts or annual commitment pricing
- Do not include enterprise or negotiated rates
- If provider only offers tiered pricing, use lowest volume tier and label accordingly

---

## User Override Capability

Users can override any model's pricing with their own values.

**Override captures:**
- Custom input price
- Custom output price (where applicable)
- Source URL (optional)
- Reason (optional — e.g., "Enterprise agreement", "Annual commitment")

**Override behavior:**
- Applies only to that user's calculations
- Clearly labeled in the UI
- Does not affect default pricing for other users

---

## Regional Pricing

**Display:**
- Show regional variations where they exist (US, EU, Asia-Pacific)
- Region selector dropdown when applicable
- If no regional variation, label as "Global pricing"

**Behavior:**
- Selected region affects cost calculation
- Region selection persists per session/project

---

## Multi-Model Comparison

When multiple models selected, display comparison showing:
- Model name
- Input/output rates (in appropriate unit)
- Source and verification status
- Calculated monthly cost
- Override option per row

Sortable by: cost (low to high), provider, model name

---

## Data Persistence

**Per feature/project:**
- Template selection
- All parameter values
- Model selection
- Region selection
- User overrides

**User should be able to:**
- Save configurations
- Duplicate and modify
- Export results

---

## Out of Scope (v1)

- Volume tier pricing calculations
- Fine-tuning cost modeling
- Prompt caching discount calculations
- Price history and trend visualization
- Automatic price monitoring and alerts
- Team/organization sharing

---

## Success Metrics

- Time to first cost estimate (target: under 60 seconds)
- Estimate accuracy vs actual usage (measure post-launch)
- User confidence in pricing decisions (qualitative)

---

## Open Design Questions

1. How should the comparison table handle many models (10+)? Scrollable, paginated, or collapsed groups?
2. Should changed parameters show the delta from template default?
3. How prominent should the margin calculator be?
4. What's the empty state before any template is selected?

---

*Document prepared for Symphony design phase handoff.*
*Last updated: February 2026*
