The fitness coaching brain, as an API.
Your users’ training and recovery data goes in. Coaching they act on comes out. One API key unlocks eight production-tested LLM endpoints, from coach chat and readiness briefs to adaptive programs and workout analysis.
No camera required. No sales call. No ML team.
300 free credits/month · No card required · Cancel anytime
- Sleep
- 5.9 h
- HRV trend
- Down
- Last session
- Heavy squats, 16 h ago
- Planned today
- Deadlift at 85%
Short sleep on top of yesterday’s heavy squats: your recovery is behind where an 85% pull needs it to be. Today isn’t lost. Keep the pattern, drop the load.
- Adjustment
- -15% load, cap at 3 RIR
- Confidence
- 0.86
That brief is one request.
Send the athlete context you already store. You get back structured JSON every time: the narrative your users read, a machine-readable recommendation your app can act on, and a confidence field you can gate the interface on.
curl https://api.coachlayer.justzon.com/v1/brief \
-H "Authorization: Bearer cl_sk_..." \
-d '{
"athlete": {
"sleep_hours": 5.9, "hrv_trend": "down",
"last_session": { "type": "squat", "load": "heavy", "hours_ago": 16 }
},
"planned_today": { "type": "deadlift", "intensity": "85%" }
}'const res = await fetch("https://api.coachlayer.justzon.com/v1/brief", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.COACHLAYER_KEY}` },
body: JSON.stringify({
athlete: {
sleep_hours: 5.9, hrv_trend: "down",
last_session: { type: "squat", load: "heavy", hours_ago: 16 },
},
planned_today: { type: "deadlift", intensity: "85%" },
}),
});
const brief = await res.json();var request = URLRequest(url: URL(string: "https://api.coachlayer.justzon.com/v1/brief")!)
request.httpMethod = "POST"
request.setValue("Bearer \(key)", forHTTPHeaderField: "Authorization")
request.httpBody = try JSONEncoder().encode(briefRequest)
let (data, _) = try await URLSession.shared.data(for: request)
let brief = try JSONDecoder().decode(ReadinessBrief.self, from: data){
"readiness": "compromised",
"brief": "Short sleep on top of yesterday's heavy squats: your recovery
is behind where an 85% pull needs it to be. Today isn't lost. Keep the
pattern, drop the load.",
"recommendation": { "action": "modify", "adjustment": "-15% load, cap at 3 RIR" },
"confidence": 0.86
}The payload is illustrative; final schemas live in the docs.
Battle-tested before you arrive. CoachLayer is the engine behind ZON, a live consumer training app. We extracted it, hardened it, and put it behind an API.
Every fitness app needs real coaching. Almost none can build it.
Your users already expect it.
Strava, Whoop, Freeletics, Zing: every incumbent has shipped AI coaching since 2024, and personalized coaching is linked to materially higher retention. Mid-size apps have 12 to 18 months to answer, and no ML team to answer with.
Building it yourself is a trap.
A credible coach isn’t a system prompt. It’s months of fitness-specific prompt engineering, output schemas, eval suites, provider failover and edge cases. Then it becomes permanent maintenance as models change under you. Your roadmap has better uses for two quarters of engineering.
The tools you can buy stop one layer short.
Wearable pipes hand you data. Motion SDKs count reps. Content APIs serve videos. Scoring APIs output a number. Nobody hands you the sentence your user opens the app for, “here’s what to do today, and why.” That layer is what CoachLayer sells.
One key. Eight things you can ship this quarter.
Coach Chat 2 cr/msg
A 24/7 coach in your app that actually knows the athlete: yesterday’s session, this week’s load, the goal they set in onboarding.
Readiness Brief (SITREP) 3 cr
“Should I train today?” answered from sleep, HRV and recent load. Your user gets a brief and a clear recommendation, not a score to interpret.
Adaptive Program 8 cr
Programs that rewrite themselves around real recovery and real performance, day by day.
Analyze Workout 6 cr
Post-session feedback with pattern detection: what went well, what’s drifting, what to watch next time.
Weekly Report 12 cr
The week-in-review your users screenshot and share. Trends, wins, and the plan for next week.
Magic Import 40 cr+
Any coach’s program (PDF, screenshot text or plain prose) parsed into your data model in one call. The onboarding un-blocker.
Coach Insight 3 cr
Client-status briefs for coach platforms: who’s slipping, who’s peaking, who needs a message today.
Form Check 25 cr+
Upload a lift clip (up to 30s) and get coaching feedback back. No live camera pipeline, no SDK embed.
Full request/response schemas, token limits and versioning policy in the docs. All eight endpoints are included on every paid tier; the suite is the product. (Sandbox includes all 8 under a non-production ToS; Build excludes Form Check, see pricing.)
From key to coaching in an afternoon.
Get a key.
Self-serve signup, no card, no call. Sandbox includes 300 credits/month, enough to evaluate every endpoint against your real data.
POST your context.
Send the athlete’s context as JSON: workouts, goals, wearable scores from HealthKit or any pipe like Terra or Sahha. No camera, no SDK embed, no data migration.
Ship the coaching.
Every endpoint returns structured JSON: narrative your users read, a machine-readable recommendation your app can act on, and a confidence field you can gate UX on.
OpenAPI spec · TypeScript / Swift / Kotlin types · MCP server for agent integrations · webhooks from Launch tier
Three endpoints, up close.
Scores tell your user where they are. SITREP tells them what to do. Feed it sleep, HRV trend and recent training load (from your DB, HealthKit, or a wearable pipe) and get back a daily brief with an explicit train / modify / rest call and the reasoning, written in the coach’s voice. Tone is configurable per partner. The request/response above the fold is this endpoint.
A chat endpoint that isn’t a naked LLM: every reply is grounded in the athlete context you send (last sessions, current program, stated goal) and runs behind fitness-domain guardrails with a versioned coaching persona. 2 credits per message makes it your habit-forming surface, not your bill shock.
curl https://api.coachlayer.justzon.com/v1/chat \
-d '{
"athlete_context": { "recent_sessions": [...], "goal": "first 100kg bench" },
"messages": [{ "role": "user",
"content": "shoulder felt weird on the last set of bench, keep going tomorrow?" }]
}'{
"reply": "Don't push through 'weird'. Tomorrow, swap flat bench for a neutral-grip
DB press at RPE 6 and watch the shoulder. If it's clean, you're back on plan
Thursday. Your bench volume this week is already 90% of target, so you lose nothing.",
"flags": ["possible_pain_signal"],
"suggested_followup": "log_pain_location"
}The endpoint coach platforms adopt us for. A 12-week program goes in as a PDF, a screenshot transcription or plain prose. A fully structured program comes out, mapped to your schema: weeks, days, exercises, sets, reps, %1RM, notes. That replaces 30 to 60 minutes of manual data entry per client, at 40 credits (~$0.50 at Growth) per import.
The layer above the plumbing.
The brain, not the pipes.
Chat, readiness narrative, adaptive programming, program parsing, workout analysis: this whole layer behind one self-serve API. Data pipes stop at scores. Motion SDKs stop at reps. Content APIs stop at video. CoachLayer starts where they stop: interpretation.
Self-serve, transparent, developer-first.
Public credit pricing and a cost calculator on this page. Keys in minutes, no card. OpenAPI + LLM-readable docs + an MCP server, because your coding agents are evaluating us too. The whole category sells through sales calls; we’d rather you just try it.
Production heritage, not a demo.
These endpoints have run inside a paying consumer app since early 2026, with versioned fitness prompts, output schemas, eval suites, and multi-provider failover already engineered. You’re not our beta test.
Four things we don’t do, on purpose.
Not a motion-capture SDK.
No live camera pipeline, no pose estimation embed. Form Check analyzes an uploaded clip for coaching feedback; if you need real-time rep counting, pair us with a motion SDK.
Not an exercise database.
We don’t serve video content. Bring your own library, or pair us with a content API. We make the content coach.
Not a wearable aggregator.
We don’t connect to Garmin or Oura for you. We take the scores your pipe (Terra, Sahha, HealthKit) already delivers and turn them into words.
Not a white-label app builder.
Your app, your UX, your brand. CoachLayer is the intelligence inside it, invisible to your users.
Pricing you can forecast. Publicly.
Every endpoint costs a fixed number of credits (schedule below). Tiers include monthly credits; overage is per-credit and gets cheaper as you grow. No seat pricing, no MAU tax, no “book a demo to see numbers.”
How credits work, the full schedule
| Endpoint | Credits |
|---|---|
| Coach Chat (per message) | 2 |
| Readiness Brief (SITREP) | 3 |
| Coach Insight | 3 |
| Analyze Workout | 6 |
| Adaptive Program | 8 |
| Weekly Report | 12 |
| Form Check | 25 (≤30 seconds included, +25 per extra 30 seconds) |
| Magic Import | 40 (≤12 weeks included, +20 per extra 12) |
Estimate your bill → open the calculator
Prices in USD, billed monthly, cancel anytime. Euro amounts shown are indicative. Annual and committed-use discounts from Scale.
See your bill before you talk to anyone.
Weights and tier prices load from the same config file the billing engine reads, so this estimate can’t drift from what we’d actually charge.
Five design-partner slots. Then the door closes.
We’re onboarding five teams at launch: free Growth-tier access for 3 months plus a direct line to the founders, in exchange for weekly feedback and a launch case study.
What we’re looking for
A shipped product with real users (≥10k MAU, or ≥1k coaches on a platform), a visible coaching gap on your roadmap, and someone who can decide fast.
What you get besides free credits
Your integration shapes the schemas, your use case becomes the launch story.
Two commitments, up front: your traffic is never used to train or improve ZON’s consumer products, and sandbox logs are retained ≤30 days. (That’s the diligence answer before you ask; the full data terms are in the docs.)
Start in the sandboxWe pick partners from active sandboxes: create a free account, wire up one endpoint, and you’re in the running.
Questions a good CTO asks.
Which models power CoachLayer?
Why not just call OpenAI ourselves?
What data do I send, and do you train on it?
Are you GDPR-ready? We’re an EU company.
What about latency?
What languages do you output?
Can we white-label or fine-tune?
How stable are the schemas?
/v1/). Breaking changes ship as new versions with a 12-month deprecation window. Your integration will not rot under you.Your in-app coach is one API call away.
Free sandbox. All eight endpoints. No card, no call, no ML team.