9:30●●●● 🔋
Home
Good morning, Robert
3 sessions · €180 today
SM
Sarah Mitchell
Tennis60 minCourt A
In 45 min · 10:30
3 pending requests
1 awaiting your reply over 24h
€40 cash to collect
From 2 clients · Mark paid
3 sessions to review
Oldest: 2 days ago · Mark complete or missed
This week · Mon–Sun
€480 €80
+€120 planned · 6 booked
Card
€320
Auto via Stripe
Cash
€80
From 2 clients
New review · 5★ — Sarah
“Great session, loved the pacing”
2 new clients this week
Alex Kim, Mira Patel
💡
Boost profile conversion 2×
Add a 30-second video intro — coaches with video get twice as many bookings.
Welcome, Robert
Let’s get your profile ready
Complete your profile setup
Your profile will be sent for review after the essential setup steps.
1 of 6 completed 17%
Add phone number
Select your sports
Upload profile photo
Write about yourself
Add training location
Create your first session
Your profile is under review
Up to 24h · We’ll notify you when approved. While you wait, a few optional boosts below.
Accept card payments
Connect Stripe
Prevent scheduling conflicts
Set available hours
Boost profile conversion 2×
Add a 30-second video intro
You’re all set, Robert
Ready to coach — let’s get you your first client
No sessions booked yet
Share your profile to get your first client.
Add your existing clients
Create athlete profiles from the Clients tab to track sessions and cash manually
💡
Accept card payments
Connect Stripe to let clients pay by card — most athletes prefer it.
Good morning, Robert
Nothing on the schedule — let’s fix that
Nothing scheduled
Invite a client or reach out to recent ones.
This week · Mon–Sun
€0 €320
No sessions planned this week
New review · 5★ — Sarah (last week)
“Thanks for a great season!”
💡
Prevent scheduling conflicts
Set available hours so clients book only when you’re free.
Good morning, Robert
Nothing on today — enjoy the quiet
AK
Alex Kim
Padel90 minCourt C
Tomorrow · 11:00
1 pending request
Mira Patel · Thu 18:00
This week · Mon–Sun
€210 €50
+€90 planned · 3 booked
Good morning, Robert
2 sessions · €120 today
TJ
Tom Jensen
Tennis60 minCourt B
In 2h · 12:00
This week · Mon–Sun
€360 flat
+€180 planned · 6 booked
Card
€360
Auto via Stripe
Cash
€0
None outstanding
All caught up — no requests, no cash to collect.
Good morning, Robert
You’re offline — showing cached data
Couldn’t refresh — check your connection
SM
Sarah Mitchell
Tennis60 minCourt A
In 45 min · 10:30
9:30●●●● 🔋
Sessions to review
Tuesday, Apr 22
TN
Tom N.
Boxing Training60 min
Tue, Apr 22 · 19:30–20:30
GYM Bro
€40Cash
Ended 2 days ago
Wednesday, Apr 23
SM
Sarah Mitchell
Tennis60 min
Wed, Apr 23 · 10:00–11:00
Court A
€50Card
Ended yesterday
AK
Alex Kim
Padel90 min
Wed, Apr 23 · 18:00–19:30
Court C
€60Cash
Ended 15 hours ago
Wednesday, Apr 23
SM
Sarah Mitchell
Tennis60 min
Wed, Apr 23 · 10:00–11:00
Court A
€50Card
Ended yesterday
All reviews done
Past sessions show up here
so you can mark them complete or missed.
Marked Undo
Coach

Dashboard

Answers “what do I need to know right now?” — not an analytics panel. Deep financial view lives in Earnings, full agenda in Calendar.


Navigation: Home tab root. Bottom nav 5 items. No back chevron. Header = “Home” + notification bell.

Tap targets:


Data dependency: GET /coach/dashboard response needs these fields (extending current spec):


States (9 total — full coach lifecycle)


Onboarding tiers


Next Session empty variant — one component, copy adapts by backend flag hasHistory:


Copy rules

Athlete dashboard is a separate build — simpler (next session + requests + balance), no revenue breakdown.

Coach

Sessions to review

Triage queue for sessions in Review state — events that ended but coach hasn’t marked complete or missed yet.

Why a dedicated list, not calendar: for N > 1 a calendar view forces hunting; the queue presents all pending reviews oldest-first for batch handling. For N = 1 we still land here (consistency > saving one tap).


Entry points


States


Missed styling rationale: low-severity destructive (outlined red) — marking missed is coach’s judgment, reversible within retention window. Not medium (tinted) because no other-user impact at this moment; not high because no data loss.

Backend: needs GET /coach/events?status=review or equivalent filtered endpoint. Bulk actions (select-all → mark complete) deferred until user feedback warrants it.