Your launch monitor gives you numbers. Persimmon tells you what they mean.

Drop in a session export from Square Golf, Garmin, SkyTrak or Rapsodo. Every shot gets read against Tour benchmarks scaled to your level — then turned into one thing to work on. It runs on your device, offline, and nothing is uploaded.

Raw export · one rowSquare Golf
4 Iron,0,135.4,L1.4,11.4,4594,L10.5,4517,L834,27.3,203.5,212.2,L21.7,39.7,R3.4,L2.5,-3,16.4
4I
Pull-hook. The face was 5.9° closed to a 3.4° in-to-out path, so it started left and kept turning.
203.5 yd carry · finished 21.7 yd left · 4,594 rpm · 11.4° launch. Speed and strike are fine here; the miss is entirely face-to-path.
Devices [ 4 verified ]

It reads the file your monitor already makes

No pairing, no subscription, no cable. Export the session from the app you already use and open it here. Formats marked verified were built and tested against real export files, not guessed from documentation.

DeviceStatusWhere the export lives
Square GolfVerifiedSession CSV from the Square Golf app
Garmin R10 / R50VerifiedGarmin Golf app → Golf Sim Sessions → share icon
SkyTrak / ST+ / ST MAXVerifiedApp → Driving Range → History → Export → CSV
Rapsodo MLM / MLM2PROVerifiedR-Cloud web portal (membership required)
GSProBest effortPractice range → clipboard icon
Foresight GC3 / GCQuad, Bushnell Launch ProBest effortFSX session export
FlightScope Mevo+ / Gen2Best effortFS Golf app session export
TrackManBest effortTrackMan Performance Studio (Windows only)
E6 / E6 ConnectBest effortportal.e6golf.com → session → Shot Analysis

Columns are matched by meaning rather than by name, so Ball Speed, ball_speed and BALL SPD all read the same. Metric files import too — km/h and metres are detected and converted. Full export guide →

What it does [ after import ]

Numbers become one thing to work on

Graded against your level

Pick Beginner, 10 handicap, Scratch or Tour. Every window, benchmark and priority rescales — a 92 mph driver isn't graded against a 113 mph one.

Learn, Play or Coach

Learn explains each shot in plain English. Play is the full analyzer. Coach opens the raw tables and score breakdowns.

Bag gapping

Median carry for every club, with overlaps and holes flagged, so you find the 15-yard gap before it costs you a green.

Trends that separate signal from noise

Per-club session medians with a middle-50% band, so you can tell a real change from a normal bad day.

A closed loop

Your top priority is tracked. The next session measures the change and tells you how much of the gap you closed.

Honest about estimates

Assumed values are marked. Estimated spin is labelled as estimated. Nothing measured is ever presented as more certain than it is.

Privacy [ on device ]

Your session data never leaves the machine you're on

There is no account, no cloud sync and no upload step. Files are parsed in the browser and stored locally. Install it to your home screen and it works in a basement with no signal — which is where most simulators live.

Help wanted [ export files ]

Have a monitor that isn't verified yet?

The formats above marked best effort work by matching columns generically — they haven't been tested against a real file. If you own a GSPro, Foresight, Mevo, TrackMan or E6 setup, one anonymised session export makes that device properly supported for everyone who owns one.

Send a CSV to hello@persimmon.golf. Delete the player name first if you'd rather — the columns are the only part that matters.