Clickable prototype. Both journeys are live and share one ledger — confirm something as the coach and the parent’s balance changes, because the balance is recomputed from confirmed events rather than stored.
Every screen and every state at once, rendered from the same code as the live prototype — so these cannot drift apart from it. They are static here: tap through the prototype to use them.
No counter is stored anywhere. Every figure below is recomputed from confirmed events each time the screen draws, which is why the two apps can never disagree.