Problem: How to Make User Data Stick Around
Claude Code is a locally running CLI tool — the product team can't see users' screens. Answering questions like "which features do users use most?", "how did completion rates change after the new feature launched?", "which version of the prompt is more effective?" requires a purpose-built data infrastructure.
But a local tool faces three special challenges:
- High sensitive-data risk: Users' code, file paths, and command content should never appear in logs
- Network instability: If the analytics service only connects at startup, events during startup will be lost
- Needs rollout capability: New features can't go to all users at once — they must be toggleable for specific user groups
The Product Growth Design module uses three subsystems to solve these three problems respectively: the analytics event system (what data, how it's sent), GrowthBook (who sees which features), and the cost tracker (how much users spend).
This document uses a consistent analogy to explain all concepts: imagine a chain restaurant with its own membership system and a central data platform. Claude Code's data infrastructure operates very similarly.