One family. One device. Fresh proof.
Short-lived code, authenticated family owner, single-use completion, and explicit child-device identity.
PAIR_CREATED → PAIR_CLAIMED → DEVICE_TRUSTEDThis clickable demo pairs GetZ Parent and GetZ Child. Choose a journey, act on either phone, and watch the other side respond.
SIMULATED DATA · NO ACCOUNT REQUIRED · NOTHING IS SAVEDEnter the one-time code shown on GetZ Child. It expires in ten minutes and can only be used once.
Fresh trust onlyThe code does not reveal another family or reuse an old session.
Show this one-time code to your parent. They cannot pair a different device after it is used.
What both apps agree happened—without exposing more than the family needs.
Family createdRivera family · owner verified
RECORDEDDevice pairingWaiting for code confirmation
OPENEach journey defines the state, event, acknowledgement, recovery path, and privacy boundary the production iOS and Android systems need to implement.
Short-lived code, authenticated family owner, single-use completion, and explicit child-device identity.
PAIR_CREATED → PAIR_CLAIMED → DEVICE_TRUSTEDActive, Limited, Offline, and Needs Attention are separate states with freshness and recovery instructions.
DEVICE_CHECKED_IN → STATE_EVALUATEDAmount, category, reason, decision, and expiry remain attached to one durable request.
REQUESTED → DECIDED → APPLIED → EXPIREDFamilies see mode, time, and shared reflection while the learner keeps appropriate working space.
SESSION_STARTED → REFLECTED → CLOSEDThe event cannot disappear from a swipe or notification tap. A caregiver must explicitly respond.
HELP_OPENED → ACKNOWLEDGED → RESOLVEDStale check-ins downgrade protection status and give both sides specific recovery steps.
HEARTBEAT_STALE → ATTENTION → RECOVEREDThe prototype is deliberately explicit: every visible state can become a testable requirement for GetZ Parent, GetZ Child, and the shared backend.
Send demo feedback ↗