Loupecase studyDashboard →

Loupe case study

What this is for: Tell a reader what to read, in what order, and how long it takes. Date: 2026-09-20 Status: Final

Loupe is a user analytics product for teams that ship a GenAI assistant. This folder is the record of the product work behind it, in the order it was done. Every document is dated and carries a status. Numbers in the trends report are reproducible from the committed aggregates by running uv run python scripts/check_report.py.

If you have ten minutes

  1. Opportunity brief, 3 minutes. The problem, who has it, and the wedge.
  2. Trends report, 5 minutes. What 3.2 million real conversations say, and what a product owner should do about it.
  3. Retrospective, 2 minutes. What shipped, what was cut, what was wrong.

If you have thirty minutes, add

  1. Metrics framework. Definitions, biases, and how the friction proxies were validated.
  2. PRD. Requirements, success metrics, privacy, and the decision log.
  3. User research. Public evidence on the problem and the assumptions register that would be tested first; no interviews were possible in the v1 window.

The rest

  1. Roadmap with the cut list.
  2. Dashboard design.
  3. Strategy memo for a company building an AI assistant.

Research kits

The interview guide, outreach message, friction labeling guide, and usability test script are under research/. Participant files contain identifiers like P1, never names.

Data and caveats

The demonstration data is WildChat-4.8M (ODC-By 1.0). It came from a free public chatbot the researchers hosted, not from ChatGPT's own product, so findings describe that population. "Pseudo-users" are a hash of network and browser headers, not accounts. Both caveats are repeated wherever numbers appear.