Saturday, May 23, 2026

Coach Lifecycle Phase 2 — Apply to Coach a Session + Form a Training Team

Volleyball Elite Academy development update
Volleyball Elite Academy
Coach Lifecycle Phase 2 — Apply to Coach a Session + Form a Training Team

Coach Lifecycle Phase 2 — Apply to Coach a Session + Form a Training Team

Volleyball Elite Academy — Development Update • May 23, 2026

Coach Lifecycle Phase 2 — Apply to Coach a Session + Form a Training Team

What & Why

Today, expressing interest in coaching a session requires the role to already be approved (see ), and there is no clean "browse open coaching opportunities" surface — discovery is buried in the 5K-line coach portal. There is also an existing schema () that ties team proposals to , but the user explicitly asked us to design the training-team concept fresh rather than reuse it (because the existing model is cycle-bound and tightly coupled to athlete-application flows). Phase 2 builds (a) an open public-facing application surface and (b) a fresh, simpler "training team" formation flow that sits on top of the existing event model.

This phase depends on Phase 1 having opened the onboarding gate — applicants without role will be allowed to apply if their Tier 1 fields are filled (the application will surface what is missing and link back to Phase 1).

Done looks like

Apply to coach a session:
  • Any signed-in user sees an "Open coaching opportunities" page listing every row in state with event title, date, scheduled hours, hourly rate, and role.
  • The Apply CTA opens a short form (notes + confirm-availability). If the user is not yet , the form shows a clear "Tier 1 progress" panel; submission is still allowed but tagged in admin review as "needs promotion".
  • Submission creates the existing row (reuse current shape).
  • Admin staffing screen gains a single Approve → assign coach action that (a) flips the assignment to , (b) if applicant is not yet , also promotes them via Phase 1's role-creation path, (c) sends the existing assignment-confirmation email.

Form a training team (fresh concept):

  • A new lightweight table (separate from the cycle-bound ): one row per coach-proposed team with name, age/skill focus, training emphasis, max size, target event/event-group, statement, status (PENDING / APPROVED / REJECTED / WITHDRAWN), reviewer person ID, decision notes.
  • Approved coaches can propose a team from the coach portal; the form is short (name, focus, size, optional target event).
  • A SuperAdmin review queue surfaces each proposal with the coach's prior staffing/eval history; Approve either (a) creates a fresh row attached to the chosen event, or (b) leaves the proposal as APPROVED for later attachment, depending on whether a target event was picked.
  • An approved team appears on the coach's portal as "Your team — N spots open" and links to the existing roster/registration tools.

Out of scope

  • Migrating or rewriting the existing / cycle flow. We coexist; the new is a simpler always-available channel. Migration decision deferred.
  • Pre/during/post-session experience for the assigned coach (Phase 3).
  • Payroll-rate negotiation per application — rates still default from event override → coach level → CUSTOM.
  • Public/marketing-site listing of opportunities (the page is logged-in only).

Steps

1. Open the application gate — Remove the short-circuit on the express-interest route in . Keep Tier 1 surfacing in the response so the UI can show a banner instead of blocking submission. Tag the resulting with a flag (e.g. on submission notes or a new column) so admins know promotion is part of approval. 2. Build the Opportunities page — New client page that lists rows, with filters (date, role, hours). Apply opens a side-sheet form. Surface Tier 1 readiness honestly. 3. Admin staffing approval flow — Augment the existing admin staffing view (or build a small dedicated review page) to one-click Approve an interest row. Approve calls the existing assignment-update path AND, if needed, the Phase 1 role-promotion path. 4. New table + storage — Drizzle schema, methods (, , ), and Zod schema. Keep it standalone from the cycle-bound existing tables; document the choice in a comment. 5. Coach-facing "Propose a team" form — Add a section to the (now slimmer) coach portal so approved coaches can submit a proposal. 6. Admin "Team proposals" review queue — New page or tab; lists pending proposals with coach context; Approve has two paths (attach to existing event-group, or mark approved without attachment). 7. Update System Registry + tests — Register the two new admin areas in and add at least one e2e spec per surface (apply-to-coach happy path; propose-a-team happy path).

Architectural constraints

  • The existing schema stays untouched. The new is intentionally separate; a future task can decide whether to merge.
  • Application gating: server-side enforcement of "must have a profile row" stays; Tier 1 enforcement becomes a UI signal + admin-side flag, not a 403.
  • Promotion-on-approve uses the SAME role-creation path Phase 1 introduces, to avoid double-pathing.
  • Do NOT touch 's existing tabs beyond the propose-a-team addition — full portal rewrite is out of scope.
  • Reuse the existing email templates for assignment confirmation; only add ONE new template for "team proposal decided".

Relevant files

- - - - - - - - -

Volleyball Elite Academy

Reply to this email — we read every reply.

You received this because you have an account with Volleyball Elite Academy.

elitevolleyball.training

No comments:

Post a Comment