Why (And How) My Practice-Plan Generator Doesn't Use AI (Yet)

Share
Why (And How) My Practice-Plan Generator Doesn't Use AI (Yet)

The Practice Planner That Thinks Like a Coach, With No AI in Sight

If you're wondering how I achieved offline-first, near-instant, on-device practice plan generation with a health-and-wellness "safety first" strategy without using AI, then read this article.

Because in 2026, "we generate your plan" is almost always followed by "...with a large language model in the cloud." That's a fine answer for a lot of problems. It was the wrong answer for mine.

The constraint that shaped everything

Super Trainer is built for the place coaches work: on the pitch, often with no signal, frequently on a hand-me-down tablet. If plan generation needs the cloud, it fails at the worst possible moment, when a coach is standing on the touchline five minutes before training with no bars and kids already arriving.

So the requirement wasn't "add AI." It was this: generate a sensible, safe practice plan, instantly, on the device, with the network switched off. Once you write the requirement that way, a cloud model stops being a feature. It becomes a liability.

What "generate a plan" really involves

Underneath the hype, a practice plan is a constrained assembly problem, not a creative one. You have a library of drills, a session length, an age group, and a set of real-world limits. The job is to fill the time with the right kinds of work, in the right order, at an intensity the players can safely handle that day.

Domain expertise can describe that precisely, so I encoded the expertise directly.

The engine

Every plan starts from a time budget and a simple structure:

  • Warmup: about 12% of the session
  • Skill work: about 46%
  • Scrimmage: about 27%
  • Cooldown: about 10%
  • Water breaks: inserted automatically every 30 minutes

The engine filters the drill library to what fits the team's age group, then fills each block to its time budget. It is deterministic and explainable, and because it runs on the tablet rather than a server, it feels instant.

Filling time isn't the interesting part, though. Safety is.

Safety first, built into the math

This is where a generic AI plan generator would worry me, and where plain domain logic wins. The plan adapts to the two things that most often get kids hurt: the match schedule and player load.

Game proximity. The planner knows when the next game is and dials intensity to match:

  • Game today or tomorrow → light session, no scrimmage
  • Two days out → mild to moderate only, scrimmage removed
  • Three days out → scrimmage time trimmed
  • Four or more days → full intensity

Squad readiness. Coaches log quick wellness check-ins (sleep, soreness, fatigue, mood) plus session effort. The planner reads that history, including an acute-to-chronic workload ratio (the same measure sports scientists use to flag overtraining), and when the squad is running hot it caps the hardest conditioning drills out of the plan. A fatigued team cannot be handed a brutal session by accident.

Two details matter here. First, the more restrictive of the two signals wins, so a fresh squad three days out from a game still gets the game-proximity trim. Second, these are hard guarantees rather than suggestions. A deterministic rule cannot hallucinate, and it cannot be talked into one more high-intensity block before a match. When you are responsible for other people's kids, a system that is incapable of getting this wrong beats one that is usually right.

Why this beats reaching for a model

  • It works with the network off. The whole thing runs in the app against a local database. No signal needed.
  • It's instant. No server round trip and no cold start.
  • It's auditable. I can tell a coach exactly why a session looks the way it does, and if a rule is wrong I fix the rule, not a prompt.
  • The safety logic can't drift. The load-management rules do the same correct thing every time.
  • It costs nothing to run. No per-plan inference bill, at any device count or scale.

Where AI earns its place, later and with care

I'm not against AI at all, quite the opposite in fact. I think there are excellent use cases for LLM's especially as open models get better and better. I'm against AI where something simpler does the job. The limit of the deterministic engine is that it doesn't read the coach's mind. It doesn't know you thought your defensive shape looked sloppy on Tuesday and want to hammer on it Thursday. Turning a coach's own notes and observations into tailored drill choices is a genuine language problem, and it's the one place a model earns real value.

Even then, the design holds a firm line. The deterministic engine keeps ownership of the safety-critical load and match-proximity caps, and any model only gets to choose inside those guardrails. AI can make a good plan better. It never gets to make a tired team's plan more dangerous.

That's the lesson I'd pass on to anyone building something like this: decide what must never be wrong, and keep that part out of a probabilistic system. For a tool that plans training for kids, the floor is safety, and safety turns out to be the part you don't need AI for.

And if building this without AI sounds like the clever part, wait until you see how we bring an actual language model into the mix without giving up a single one of these safety guarantees. That's the next article.


Super Trainer is an offline-first practice planner for coaches. Plan sessions, run drills, manage your roster, and keep an eye on player wellness, all from one app that works with no signal and no account required. It is in open testing right now on Google Play store, please download and give it a try for free!