Wednesday, April 8, 2026

Communication Hub Foundation

Communication Hub Foundation

Canadian Elite Volleyball Academy — Development Update • April 8, 2026

--- title: Communication Hub Foundation ---

Communication Hub Foundation

## What & Why The academy currently has communication scattered across multiple areas — Newsroom (announcements/newsletters), Profile Messages (admin notes, coach-parent, feedback), Bulk Email (Resend), Notifications (bell icon), Blog Publisher (Blogger), and event-specific communications. This task consolidates everything under a unified Communication Hub accessible from the sidebar, with a dedicated Email History log, a centralized announcement system, event communication timelines, automated communication playbooks, and AI-powered smart nudges. This becomes the single place admins go for all outbound and internal communication — and the engine that sends the right message at the right time automatically.

## Done looks like

### Communication Hub Page () - A new top-level page with a tabbed interface containing these sections: - Announcements — Create and view academy-wide announcements (banner-style messages visible to everyone or targeted by role). Shows history of past announcements with sent date, audience, and delivery channel (in-app, email, or both). New announcements can be pushed as in-app notifications and/or emailed via Resend - Email Log — Historical record of all emails sent through the platform (bulk emails, event notifications, role approvals, weekly digests, blog posts to Blogger, etc.). Each entry shows: date, subject, recipient(s) or audience, email type/category, delivery status. Filterable by date range, email type, and recipient - Newsroom — Existing newsroom functionality (newsletters, guides, FAQs, coaching tips) relocated here from Command Center. No functional changes - Messages — Existing profile message moderation (admin notes, coach-parent, feedback channels) relocated here from Command Center. No functional changes - Blog Posts — Dev Blog Publisher moved here. Enhanced with "Published" vs "Draft Plans" view showing which task plans have been posted and which are still available - Playbooks — Automated communication sequences triggered by lifecycle events (new athlete onboarding, coach onboarding, re-engagement, post-event follow-up). Each playbook defines a series of timed messages relative to a trigger event. Admins can activate/deactivate playbooks, preview the sequence, and customize individual messages - Templates — Library of reusable message templates (event reminder, welcome message, registration confirmation, transition announcement, etc.) with copy-to-clipboard. Initially populated with the existing Corsizio transition message and common templates. Templates are also used by Playbooks and Event Timelines

### Email Log Database - New table tracking every email sent through the system: timestamp, from address, to address(es), subject, email type (from the catalog), status (sent/failed), Resend message ID, and optional link to the related entity (event, person, newsroom post) - All email-sending functions in automatically log to this table after sending - The log is queryable by SuperAdmins from the Email Log tab

### Sidebar Navigation Update - New "Communication Hub" link in the sidebar for SuperAdmins pointing to - Existing Command Center Newsroom and Messages tabs remain functional but show a note pointing to the new Communication Hub - Dev Blog Publisher card removed from Command Center Tools tab (moved to Communication Hub)

### Announcement System - New table storing academy-wide announcements with: title, body, audience (everyone or specific roles), priority (normal, important, urgent), channels (in-app, email, both), created by, active from/until dates - Active announcements appear as a banner at the top of the main dashboard/welcome page for targeted users - Announcement history is visible in the Communication Hub

### Event Communication Timeline Builder - When creating or editing an event, a "Communication Plan" section shows a timeline of automated messages that will be sent relative to the event date - Default timeline auto-populates based on event type (camp, clinic, league, private lesson): - Registration: Confirmation email + next steps - 7 days before: Preparation guide (what to bring, facility info) - 1 day before: Final reminder with facility map and emergency contacts - After event: Thank you message + feedback survey + next program recommendation - Admins can toggle individual messages on/off, customize content, and add additional timeline entries - Timeline entries use templates from the Templates library - A table stores the configured timeline per event, and a scheduler processes pending messages based on event dates

### Communication Playbooks - Reusable automated sequences triggered by lifecycle events. Each playbook defines a series of timed messages relative to a trigger: - New Athlete Onboarding: Day 0 welcome → Day 1 how the academy works → Day 3 meet the coaches → Day 7 upcoming events recommendation → Day 14 training resources - Coach Onboarding: Immediate welcome → Day 2 portal walkthrough → Day 5 certification checklist → Day 10 first staffing opportunity - Re-engagement: Triggered when a family hasn't registered for anything in 90 days → friendly check-in with program suggestions matching their athlete's development stage - Post-Event Follow-up: Day 0 thank you → Day 1 feedback survey → Day 7 next program recommendation - New and tables define the sequences - A table tracks which people are currently progressing through which playbooks - Playbooks can be activated/deactivated globally, and individual enrollments can be paused or skipped

### Smart Nudges (AI-Adaptive Messaging) - Penny-powered intelligent communication triggers based on data patterns the system already tracks: - Parent hasn't registered for anything in 90+ days → suggest programs matching their athlete's age/level - Athlete attendance has dropped significantly → flag for coach check-in - Event is 80% full → notify waitlisted families or send marketing push - Family has multiple children → suggest sibling registration for upcoming events - Coach certification is expiring within 30 days → escalating reminder sequence - Athlete completes a milestone (e.g., 10th clinic, first tournament) → celebration message - Smart nudges appear in the Communication Hub as a "Suggested Actions" card showing pending nudges with one-click send or dismiss - Nudges that are sent are logged in the Email Log - Nudge rules are configurable by SuperAdmins (enable/disable individual rules, adjust thresholds)

## Out of scope - SMS messaging (future — Twilio integration) - Per-person communication timeline/inbox (separate task — Task #13) - Real-time chat or WebSocket-based messaging - Changing how existing profile message channels work - External integrations beyond Resend (no Twilio, no Slack) - AI Practice Planner (separate future feature for Penny Coach)

## Tasks 1. Create the email_log table and logging middleware — Add the email_log schema and wrap all email-sending functions to automatically log every send with timestamp, recipients, subject, type, status, and Resend message ID.

2. Create the announcements table and API — Add the announcements schema and build CRUD endpoints for creating, listing, and deactivating announcements. Include audience targeting and channel selection (in-app notification push and/or bulk email).

3. Build the Communication Hub page — Create the /communication page with tabbed layout (Announcements, Email Log, Newsroom, Messages, Blog Posts, Playbooks, Templates). Relocate existing Newsroom and Messages components, move the Dev Blog Publisher, and build the new Email Log viewer and Announcements management UI.

4. Add announcement banner to dashboards — Display active announcements as dismissible banners on the Welcome Hub, Athlete Dashboard, and Family Dashboard, filtered by user role.

5. Update sidebar navigation — Add the Communication Hub link under a Communication group in the sidebar for SuperAdmins.

6. Build the Templates library — Create a templates section with pre-written message templates with copy-to-clipboard. Migrate the existing Corsizio transition message card from Tools. Templates are reusable by Playbooks and Event Timelines.

7. Build the Event Communication Timeline Builder — Add event_communication_plans schema. In the event creation/edit flow, show a Communication Plan section with a default timeline based on event type. Allow toggling, customizing, and adding messages. Build the background scheduler that processes pending timeline messages based on event dates.

8. Build the Communication Playbooks system — Add playbooks, playbook_steps, and playbook_enrollments schemas. Build the Playbooks tab UI for creating/managing sequences. Implement the enrollment engine that triggers playbook entry on lifecycle events (new athlete, new coach, inactivity) and processes timed steps. Pre-populate with New Athlete Onboarding, Coach Onboarding, Re-engagement, and Post-Event Follow-up playbooks.

9. Build Smart Nudges — Create a nudge rules engine that periodically scans academy data for actionable patterns (inactivity, attendance drops, event capacity, certification expiry, milestones). Surface suggested nudges in the Communication Hub as a card with one-click send/dismiss. Integrate with Penny for personalized message generation. Log sent nudges to the email_log.

## Relevant files - - - - - - - -

Canadian Elite Volleyball Academy
elitevolleyball.training

No comments:

Post a Comment