This project is a lightweight documentation template for product managers who want a shared language for tracking digital products (apps, web apps, and SaaS).
The goal is to keep product thinking structured and consistent across planning, analytics, and experimentation.
This template follows an action-based event model:
- Event names are general and action-based (for example:
click,view,submit,scroll). - Each event stores the full context of what happened at that exact moment.
- Every tracked event should include:
action: the event name (for exampleclick)actor_entity: the entity performing the action (often the user)target_entity: the entity receiving the action (for example a button, card, input, or feature)interaction_context: technical/contextual details about the action (for example pressure, coordinates, device, timestamp, page state)
In short: keep event names simple and reusable, and put detail into the event payload.
flowchart LR
V[Events] --> M[Metrics]
V --> F[Flags]
M --> E[Experiments]
F --> E
E -. impacts and re-measures .-> M
Reading the graph:
- Flags are the mechanism used to change product behavior.
- Experiments use flags to expose variants (control/treatment).
- User behavior in each variant generates events.
- Metrics are computed from events.
- Metric outcomes drive product decisions and next flag changes.
- Create a single source of truth for product definitions.
- Make collaboration easier between product, design, engineering, and data teams.
- Reduce ambiguity in tracking and reporting.
- Keep decisions and assumptions visible over time.
events/: What users do (behavioral tracking taxonomy).metrics/: How product success is measured (KPIs and supporting metrics).users/: Who the product serves (segments, personas, lifecycle states).flags/: Feature flag inventory and rollout strategy.experiments/: Product experiments (hypotheses, variants, outcomes).
- Start by documenting your product events and naming conventions.
- Define your key metrics and how each metric is calculated.
- Add user segments and lifecycle definitions.
- Track feature flags and rollout decisions.
- Document experiments and outcomes for team learning.
- Keep definitions simple and versioned.
- Review and refine docs during product rituals (planning, sprint review, retrospectives).
- Update documentation whenever tracking logic changes.
- Product managers
- Product analysts
- Founders and operators
- Cross-functional product teams
Use this as a starting point and adapt the folder contents to your product context.
Made with 🔥 by Antonio Scapellato (@antonscap).
- X / Twitter: @antonscap
- Website: scapellato.dev