> ## Documentation Index
> Fetch the complete documentation index at: https://docs.saturday.fit/llms.txt
> Use this file to discover all available pages before exploring further.

# Coaching on Saturday

> Everything you need to coach athletes on Saturday — billing, roster, alerts, your team, and the fueling itself

export const AppAction = ({path = "/open-app", children}) => {
  const LINK_STYLE = {
    fontWeight: 600,
    color: "#1aabb8",
    cursor: "pointer",
    textDecoration: "underline",
    textDecorationColor: "rgba(26, 171, 184, 0.4)",
    textUnderlineOffset: "2px",
    background: "none",
    border: "none",
    padding: 0,
    font: "inherit"
  };
  const deepUrl = "https://saturday.fit" + path;
  const [isMobile, setIsMobile] = useState(false);
  const [showQR, setShowQR] = useState(false);
  useEffect(() => {
    setIsMobile((/iPhone|iPad|iPod|Android/i).test(navigator.userAgent));
  }, []);
  const onEnter = e => {
    e.currentTarget.style.textDecorationColor = "#1aabb8";
  };
  const onLeave = e => {
    e.currentTarget.style.textDecorationColor = "rgba(26, 171, 184, 0.4)";
  };
  if (isMobile) {
    return <a href={deepUrl} style={LINK_STYLE} onMouseEnter={onEnter} onMouseLeave={onLeave}>
        {children}
      </a>;
  }
  const qrSrc = "https://api.qrserver.com/v1/create-qr-code/?size=220x220&data=" + encodeURIComponent(deepUrl);
  return <>
      <button type="button" onClick={() => setShowQR(true)} style={LINK_STYLE} onMouseEnter={onEnter} onMouseLeave={onLeave}>
        {children}
      </button>

      {}
      {showQR && <div onClick={() => setShowQR(false)} style={{
    position: "fixed",
    inset: 0,
    zIndex: 9999,
    background: "rgba(0, 0, 0, 0.6)",
    display: "flex",
    alignItems: "center",
    justifyContent: "center",
    padding: "1rem"
  }}>
          {}
          <div onClick={e => e.stopPropagation()} className="not-prose" style={{
    background: "#ffffff",
    borderRadius: "16px",
    padding: "1.5rem",
    maxWidth: "320px",
    width: "100%",
    textAlign: "center",
    boxShadow: "0 20px 60px rgba(0, 0, 0, 0.35)"
  }}>
            <p style={{
    margin: "0 0 1rem",
    fontWeight: 600,
    color: "#11181c",
    fontSize: "0.95rem"
  }}>
              Scan with your phone to open the Saturday app
            </p>

            <img src={qrSrc} width={220} height={220} alt={"QR code to open " + deepUrl + " in the Saturday app"} style={{
    display: "block",
    margin: "0 auto",
    borderRadius: "8px"
  }} />

            {}
            <a href={deepUrl} style={{
    display: "inline-block",
    marginTop: "1rem",
    color: "#1aabb8",
    fontWeight: 600,
    fontSize: "0.8rem",
    wordBreak: "break-all"
  }}>
              {deepUrl}
            </a>

            {}
            <button type="button" onClick={() => setShowQR(false)} style={{
    display: "block",
    width: "100%",
    marginTop: "1.25rem",
    padding: "0.6rem",
    borderRadius: "10px",
    border: "none",
    background: "#1aabb8",
    color: "#ffffff",
    fontWeight: 600,
    cursor: "pointer"
  }}>
              Close
            </button>
          </div>
        </div>}
    </>;
};

# Coaching on Saturday

These docs are for **coaches** using the Saturday **[coach portal](https://coach.saturday.fit/dashboard)** — not developers. (Building an integration? That's the [API Guides](/introduction) tab.)

Saturday handles the fueling so you can focus on the training. This tab teaches you the whole coaching surface — and, just as importantly, **how Saturday thinks about nutrition**, so you can answer your athletes' fueling questions once and for all.

<CardGroup cols={2}>
  <Card title="Become a coach" icon="user-plus" href="/coaching/become-a-coach">
    Two ways in, one place you land.
  </Card>

  <Card title="Invite your first athlete" icon="paper-plane" href="/coaching/first-athlete">
    From empty roster to a coached athlete in minutes.
  </Card>

  <Card title="Who pays" icon="credit-card" href="/coaching/billing/who-pays">
    The billing modes, in plain language.
  </Card>

  <Card title="The dials" icon="sliders" href="/coaching/nutrition/overview">
    How Saturday turns targets into bottles.
  </Card>
</CardGroup>

## What you can do

| Area                                                 | What it covers                                                                                                                                                                    |
| ---------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Getting started](/coaching/become-a-coach)          | Become a coach, invite or create your first athlete from your **[roster](https://coach.saturday.fit/dashboard)**                                                                  |
| [Billing](/coaching/billing/who-pays)                | Who pays, coach-paid athletes, take-over & relinquish, the volume discount — all in **[billing](https://coach.saturday.fit/admin/billing)**                                       |
| [Roster & alerts](/coaching/roster/flags-and-groups) | Flags, groups, the AI report, and configuring your **[alert settings](https://coach.saturday.fit/dashboard/alert-settings)**                                                      |
| [Team & assistants](/coaching/team/add-assistants)   | Add assistants, assign athletes, the team roll-up, and permissions on your **[team](https://coach.saturday.fit/dashboard/team)**                                                  |
| [Nutrition guide](/coaching/nutrition/overview)      | The four dials: bottling & fill/mix, gluc:fruc ratio, eco-mode vs products, the Setup — open an athlete from your **[roster](https://coach.saturday.fit/dashboard)** to adjust it |

## Co-piloting, not locking

You are **co-piloting**, not locking. Everything you adjust for an athlete — their fueling **Setup** (open an athlete from your **[roster](https://coach.saturday.fit/dashboard)**), their **[alerts](https://coach.saturday.fit/dashboard/alert-settings)** — syncs to their app instantly, the athlete is always notified, and the athlete can always change it back. The relationship is high-trust by design: Saturday does the math so you and your athlete can both see the same picture.

<Note>
  **You're also an athlete.** Every coach has their own Saturday athlete account. You can flip between your **Coaching** view and your **My Training** view with the <AppAction path="/open-app">persona toggle</AppAction> in the app — same account, two lenses.
</Note>

Ready to start? Open your **[dashboard](https://coach.saturday.fit/dashboard)** and follow along.
