Support
KidSwing is built by one person — a softball dad in Commerce Township, Michigan. There's no support team and no ticket queue. There's an email address, and it reaches me.
joe@kidswing.app
I read everything. I usually reply within a couple of days, sometimes the same evening, occasionally slower during tournament weekends. If something's broken and it's stopping you from using the app, say so in the subject line and I'll jump the queue.
Getting a good session
Most problems people hit aren't bugs — they're setup. Four things matter, roughly in this order.
Put the phone on something. Handheld doesn't work. The app measures how fast your player's hands move compared to stable points on their body, so if the camera is moving, everything is moving. A cheap tripod is the single biggest upgrade to your results.
Shoot from the side. Stand the camera perpendicular to your player, level with roughly their belt, far enough back that their whole body stays in frame through the entire swing — including the follow-through. If their hands leave the frame, that swing can't be graded.
Light them from the front, not behind. Backlighting is the most common cause of dropped swings. Late-afternoon sun behind the batter will defeat pose detection. Turn the setup around.
Same spot every time. Not required, but the app compares sessions to each other. Consistent camera placement makes those comparisons mean more.
Shade the device. This one is not a suggestion. Running KidSwing puts a device roughly 20°F above the air temperature all on its own — 240 frames a second through pose detection is about the hardest thing you can ask a phone to do. Direct sun adds about another 20°F on top of that, and most phones are black. Measured with a thermal camera on an 80°F day, a device already warm from a previous session hits iOS's critical heat state in under about three minutes in full sun.
What heat costs you is measurement, not just comfort. As a device heats up, iOS slows it down to protect itself, and the camera stops being able to deliver every frame. Fewer frames through a swing means fewer looks at your player at the moment that matters. Push it far enough and capture stops altogether — which looks exactly like the app failing to detect anything.
Shade fixes it, and we have the numbers. The same device that climbed past 120°F in direct sun settled around 103°F in shade — comfortably below the point where any of this starts. So a dugout, a bag, an umbrella, or a towel over the top of the tripod isn't a half-measure; it's the whole answer.
A small clip fan is the next best thing if you can't get shade. Clamped to the tripod and pointed at the device, on a charger, one kept a tablet running through direct sun that would otherwise have shut itself down.
Start with a cool device rather than one that's been sitting on a dashboard, and if a session suddenly stops picking up swings on a hot day, heat is the first thing to suspect. Shade is not optional equipment at a summer practice.
"It's not detecting my player's swings"
Work down this list — it's ordered by how often each one turns out to be the cause.
- Is the whole body in frame, the whole time? Including hands at the top of the follow-through. This is the answer most of the time.
- Is the camera stationary? Any pan, tilt, or drift reads as motion.
- Is the batter backlit? Move the camera so the light is on their front.
- Is anyone else in frame? Another person in the shot can pull the pose detection onto them. Clear the background.
- Loose or baggy clothing blurs where joints actually are. A fitted shirt measures better.
- Is your device in direct sun, or already hot from an earlier session? A hot device delivers fewer camera frames, and a very hot one stops delivering them entirely — which looks exactly like the app failing to detect anything. In full sun this can happen within a few minutes. Get it into shade, let it cool, plug it in, try again. See the note about sun in the setup section above.
If you've been through all six and it's still missing swings, email me. Include your device model and roughly what the setup looked like. If you can export the session data (Settings → Export session data) and attach it, I can usually tell you exactly what happened — that file is numbers, not video, and it's the fastest way for me to diagnose anything.
"The numbers look wrong"
Tell me. Seriously — this is the most useful email I can get.
KidSwing is built on a rule that it never shows a made-up number. If a measurement can't be taken, the app is supposed to leave it blank rather than estimate and present the estimate as fact. If you're seeing a value that doesn't match what you watched happen, that's either a bug worth fixing or a limit I should be describing more honestly. Either way I want to know.
What helps: which metric, what you'd have expected, and the exported session file if you can get it.
Apple Watch
Start here: an Apple Watch pairs with an iPhone, not an iPad. That's Apple's design, not something KidSwing can work around — the technology a watch uses to talk to another device doesn't exist on iPadOS. If your camera rig is an iPad, the watch can't send it anything. Run KidSwing on the iPhone the watch is paired to instead.
A camera sees where the body is. A watch on the wrist feels how it moves, hundreds of times a second, which opens up measurements a camera physically can't take. Those will show up in the app as they're finished.
Starting a round: your player taps START on the watch themselves. The phone can't start the watch remotely; that's an Apple restriction, not a missing feature, and there's no way around it. Practically it works fine — the player is holding the bat anyway.
Why it asks about workouts: the watch app starts a workout session, and watchOS asks permission because that's normally how apps write exercise data into Health. KidSwing doesn't read your Health data and doesn't write anything into it. The workout session is the only way Apple lets an app get motion readings at the rate a swing needs.
If the watch isn't sending data:
- Confirm KidSwing is running on the iPhone the watch is paired to, not on an iPad.
- Confirm the watch and that iPhone are both nearby and connected to each other.
- Make sure the round was started on the watch, not just on the phone.
- If it stops mid-session, restarting the watch clears it. Relaunching the app alone sometimes doesn't.
The Batter Display
The Batter Display shows live stats on another screen so your player can see their numbers without holding anything. It isn't limited to one — a screen facing the batter, another for a parent in the bleachers, another on the coach's laptop all work at the same time.
How it works: your phone or tablet running KidSwing puts a small web page on your local Wi-Fi network. Any device on that same network — a tablet, a laptop, an Android phone — opens that page in a browser, and as many of them can open it as you like. Nothing installs on the viewing devices.
Setting it up: start the display from the app, then either scan the QR code with the viewing device or type the address it shows. Every device needs to be on the same network. To add another screen, point it at the same address.
If it won't connect:
- Confirm every device is on the same Wi-Fi, not one on Wi-Fi and one on cellular.
- Many public, school, and club networks block devices from talking to each other. This is the usual culprit at a field. The fix is a Personal Hotspot from the phone running KidSwing — connect the display device to that hotspot instead.
- Some browsers hold onto a stale page. Pull to refresh, or close the tab and rescan.
A note on privacy: the display page shows your player's first name and their live numbers. It's only reachable from your local network — it is not on the internet — but it isn't password-protected. On your home Wi-Fi that's your family. On a club or school network, other people on that network could open it if they knew the address. Worth knowing before you use it at a tournament.
The free trial
You can measure a real player before paying anything. The trial gives you a set number of live practice swings plus one Structured Analysis session, counted separately, with the current amounts shown in the app.
The trial is tracked on the device, so deleting and reinstalling doesn't reset it. That's deliberate — the alternative is accounts, and accounts would break the promise that nothing about your child leaves your device.
Licenses and purchases
Parent is a one-time purchase, yours permanently, and covers up to 5 players — enough for a family, including a big one.
Coach covers up to 25 players and comes two ways:
- Annual, paid up front. This one also grants you a permanent Parent license — yours to keep even if you stop coaching and let the subscription lapse. Coaching shouldn't cost you access to your own kid's data, and paying for the year up front is what covers that.
- Monthly, month-to-month. Same coaching features while it's active. The monthly plan doesn't include the permanent Parent license.
SeasonPass and Pitching, as those arrive, are included with Coach on either plan while your subscription is active. For Parent, they're optional add-ons.
One thing to know about SeasonPass before it ships: backup, scheduled reports, and comparison against other players all require a copy of your practice data on a server. That's the one part of KidSwing that won't be device-only, and it's why it's a separate opt-in rather than something switched on for everyone. Nothing is being sent today — the feature isn't built. The Privacy Policy will describe exactly what's stored and for how long before it launches.
Refunds and billing are handled entirely by Apple, not by me — I never see your payment information and I have no ability to issue a refund. Request one at reportaproblem.apple.com. If a purchase went through but the app didn't unlock, that's different and it is my problem: tap Restore Purchases first, and if that doesn't fix it, email me.
If a subscription lapses: your history stays readable and exportable. Starting new sessions needs an active license. Nothing gets locked away.
Changing devices: your license restores through your Apple ID. Your player's session history, though, lives on the device — see the next section.
Your data, and moving it
Everything KidSwing records lives on your device. There's no account, no cloud, and no copy on a server anywhere. That's deliberate, and it has one real cost you should understand:
If you lose the device, the practice history is gone. I can't restore it, because I never had it. Your device's own iCloud or computer backup is what protects that data, so if your player's history matters to you, make sure the device is being backed up.
To take data out, use Settings → Export session data. You'll get a spreadsheet-style file of the measurements you can keep, email, or open in anything. Export isn't a paid feature and it won't become one.
To remove data, deleting the KidSwing app from your device removes the player profiles and session history with it. A few small counters stay behind — how many profiles have been created, how much of the trial was used, and whether an annual Coach license was ever held. They enforce license limits, and they contain no name and no information about any player. The full explanation is in the Privacy Policy.
One thing the app clears on its own: the detailed body-position frames behind each swing are removed after about 180 days, the next time you open the app. The swing measurements stay. A pose from when your player was two inches shorter isn't a fair comparison any more.
Common questions
Does KidSwing record video of my child? No. It never creates a video file at all — not one it saves, and not one it deletes afterward. The app measures body positions from the camera feed and keeps the numbers. The frames themselves sit in memory just long enough to measure the swing, at most about a second, and are never written to storage. There is no file at any point. You can check this yourself: run a full session in Airplane Mode with no internet, and everything still works. (Airplane Mode leaves Bluetooth on, so a paired Apple Watch keeps going too. The Batter Display needs Wi-Fi, so that one waits until you switch Airplane Mode back off.)
Can I get a video of the swing to send to a coach? Not from KidSwing — there's no video to export. You can share the exported numbers or the session report instead.
Your phone's own screen recording will capture whatever is on screen, and I'm not going to pretend otherwise. But please think hard before doing it at a team practice. The reason KidSwing doesn't create video is so that a coach measuring twenty kids never ends up holding footage of nineteen other families' children. Screen recording puts that back, and those families didn't agree to it. For your own child at home, that's your call.
Does it work indoors? Off a tee? With a pitching machine? Yes to all three, with enough light and enough room for the full swing in frame.
What devices does it work on? See the list at the bottom of this page.
Can two coaches share one license? No. A license is tied to the Apple ID that bought it.
My player has two names in the app / I need to fix a profile. Edit it under My Player. If sessions landed on the wrong player, email me — don't delete anything first, because there may be a way to sort it out.
Is this a medical or injury-screening tool? No. KidSwing measures athletic movement for coaching purposes. It doesn't diagnose anything, and decisions about pain, injury, or return to play belong to a doctor. See the Terms.
What you need to run it
iPhone or iPad — iOS or iPadOS 17.6 or later.
The camera measurement runs at 240 frames per second, which is what makes a swing measurable at all. iPhone 8 and later can do that; older iPhones cannot, and the app will tell you so rather than quietly measuring badly. On iPad, 240fps support varies by model more than it does on iPhone — if your iPad can't do it, the app says so on the first capture attempt rather than letting you find out from bad numbers.
If you're choosing a device for this, a newer one is meaningfully better. Pose detection is doing real work on every frame, and a newer device has more thermal headroom on a hot day at the field. Whatever you use, keep it shaded — see the setup notes above.
Apple Watch — watchOS 10 or later, paired to an iPhone.
There's no model list, and that's deliberate. Instead of guessing from a watch's name, KidSwing asks the watch directly whether it can deliver high-rate motion data. If it can, the feature works; if it can't, the app tells you. In practice this means recent watches — Apple's own guidance points at Series 8 and Ultra and later — but a model list would be wrong the day a new watch ships, so we don't keep one.
A watch pairs with an iPhone, not an iPad. If your camera is an iPad, the watch has nothing to talk to.
Batter Display — any device with a modern web browser.
Tablet, laptop, Android phone, an old iPad in a drawer. Nothing to install, and it doesn't need to be an Apple device. It only needs to be on the same Wi-Fi network as the device running KidSwing.
Reporting a bug or asking for a feature
Email me. Both are welcome, and the feature list has genuinely been shaped by parents and coaches telling me what was missing.
For a bug, the useful details are: what you did, what happened, what you expected, your device model, and the exported session file if it's session-related.
joe@kidswing.app