What was broken
A six-hour church coffee event with ten volunteers across six time bands, three live worship sets, six task types, and ten different baked goods being brought in. Coordination was happening in WhatsApp on the Friday night before — who's setting up at 9, who's covering the 11am gap, who's bringing what. By the morning of the event nobody had the same picture in their head, and the coordinator was answering the same five questions fifteen times.
What I built
A mobile-first React app deployed to Vercel and shared via a single WhatsApp link. Three views.
Volunteers tab — tap your name, see your personal timeline with colour-coded tasks per hour and a reminder of what you're bringing.
Worship tab — the three live sets with times and who's leading.
Full Overview tab — the whole day hour by hour, every volunteer in one grid, for the coordinator who needs the global picture.
Colour-coded by task type: setup, serving, connecting, prayer, worship, cleanup. Six colours, six task types, no legend needed once you've used it once.
How the 3-layer pattern shows up here
Smaller version of the pattern. The directive is the schedule itself — a JS array describing who does what, when, with what. Orchestration is the React view logic that derives personal timelines from the schedule. Execution is the rendering and the WhatsApp distribution.
Editing the schedule means editing one array; everything downstream regenerates. No coordinator typing the same information into three different tools.
Tech
React, Vercel, Google Fonts, no backend. Total runtime cost: zero.
Why it matters for an ops team
Volunteer coordination and customer onboarding sequencing have the same shape. Multiple people, multiple time bands, multiple dependencies, one source of truth that everyone needs a personal view of.
The instinct to make every audience their own view of the same data — instead of forcing them to read someone else's — is the same instinct that turns a brittle CS handoff into a clean one.
What I'd do differently
Built for the wrong distribution. WhatsApp link works fine, but half the older volunteers don't open links from messages — they prefer printed sheets. Next event I'd add a print stylesheet that renders Full Overview as a single A4 page, and meet people where they actually are.