Your body tells you how hard to push. PulseLab listens. Your plan adapts. Coach Zo does the rest.
Available on iOS and Android

Every morning, PulseLab reads your sleep, HRV, energy, soreness, and training load. It turns all of that into one number. Then shapes your day around it.
Drag to simulate your morning score
Your period affects your training. PulseLab reads it. Your cycle phase factors into your PULSE Score every morning, alongside sleep and HRV. High-energy day: harder session. Low-energy day: Zo already pulled back before you opened the app.



Energy is lowest. Zo pulls back intensity and prioritises easy movement or rest.
Energy rebuilds. Zo introduces harder sessions as readiness climbs.
Your strongest stretch. Zo schedules threshold runs and race-pace intervals here, not in easier weeks.
Fatigue rises late in this phase. Zo reduces load and monitors HRV closely.
You're in your luteal phase. I've dialled back today's intervals. Easy effort only.
CYCLE PHASE
TODAY'S PULSE SCORE
TODAY'S SESSION
Easy Run — 35 min
Zone 2 only · Auto-adjusted by Zo
NO MANUAL INPUT NEEDED
Log your period start and end each cycle. After two cycles, PulseLab learns your pattern and adjusts automatically.
Built backwards from your race date. Base, Build, Peak, Taper, Recovery. When your body signals it needs a lighter day, the plan adjusts. You don't have to ask.
COACH ZO ADJUSTED YOUR PLAN
PULSE Score dropped to 44 last Thursday. Zo shortened Friday's run by 20 minutes, moved Saturday's brick to Sunday, and when you flagged a conflict, found the next free slot automatically.
Periodisation auto-generated backwards from your goal race date.
GPS tracking for run and cycle with live pace, heart rate zones, auto-lap, auto-pause, Zo audio cues, and timed fuelling alerts for sessions over 45 minutes.

Sleep, energy, soreness, mood. One question per screen, done in about a minute. Your answers go into the PULSE Score.
How did you sleep last night?
SLEEP QUALITY
How's your energy right now?
TAP SORE AREAS
Zo reads your data and tells you what it means. Specific feedback, built around your numbers.
Never gives medical advice. Safety filter on every response.
HRV dropped 12% overnight. I've shifted today's run to Zone 2 only. Don't chase pace. Just move.
TODAY'S SESSION
Easy Run — 8 km
Zone 2 · 52 min
Legs feel stiff. Should I skip?
No. Easy Zone 2 is exactly right when your legs are stiff. Movement helps. Keep it slow.
You've completed 5 straight weeks without a full rest day. I'm inserting one this Sunday.
BREAKFAST
Oats + banana + protein
LUNCH
Chicken rice bowl + greens
PRE-WORKOUT
Energy bar + coffee
HYDRATION
Zo tracks whether you're eating enough for the load you're carrying. Under-fuelling shows up in your data before it shows up in your legs.
Automatic sync with the devices you already use. PulseLab reads the data so you never have to enter it by hand.

Apple Health
Real-time

Google Fit
Real-time

Garmin Connect
Post-activity

Wahoo
Post-activity

Fitbit
Daily sync
Polar
Daily sync

Whoop
Daily batch
Google Calendar
Availability

Flo
Cycle data

Clue
Cycle data
Strava
Activities

Oura
Sleep & HRV
Post-workout journal entries are AES-256 encrypted and completely private. Your coach never sees them unless you share. Zo can respond to your entry. Only you see the reply.
SAT, MAR 29
Long Run · 16.2km
That calf fatigue is expected after stacking gym and long run this close...
Three widget sizes for iOS and Android. See your PULSE Score, today's session, and water intake without opening the app.
PUSH
Easy Run
45 min
SMALL (2×2)
Today — Easy Run
45 min · Zone 2
7.2h
SLEEP
58ms
HRV
OK
LOAD
MEDIUM (4×2)
WATER TRACKER (4×1)
Free to download. Adaptive from day one.
No credit card. No coach required.