Using Downrange.

The same guide that is inside the app, under Settings → Guide. Start with the quick start; open any topic below for the detail.

Quick start

  1. Take a picture or pick one from your camera roll
  2. Tap two points and set the real distance to calibrate scale
  3. Mark your aim point (optional, needed for windage/elevation)
  4. Tap to mark every shot hole
  5. Pick the load profile this group belongs to — charge, seating and caliber prefill from it, but you can override any of them for a load-dev test
  6. Tag the session and save — add velocity and conditions any time from Group Details

Reference

Scale & calibration

Tap two points a known distance apart, type the real distance, and Downrange derives millimeters-per-photo-unit from it. Every other metric is scaled off this number, so if you move a calibration point, the scale clears and you have to set it again. For a photo taken at an angle, switch to 4-CORNER instead of 2-POINT: tap the four corners of a rectangle you know the real size of (a target's printed border, a sheet of paper) in any order — they're sorted automatically — and Downrange corrects the geometry itself rather than measuring off a skewed photo. The photo still looks skewed on screen; only the numbers are corrected.

Marking shots

Tap to add a hole — even right next to one already marked, since a good group often looks like that. Press and hold a shot to select it, then REMOVE; a tap never deletes, so it can't be mistaken for placing one. Drag any selected marker to nudge it. Pinch or the +/- buttons zoom in for a precise placement; drag the photo to pan. Marking with gloves on: turn on Glove mode in Settings for a larger grab radius around each marker and an on-screen nudge pad for fine adjustment without a precise drag. A photo can hold more than one group — save the first, then use + Mark another group on this photo from its Details screen to start a second group on the same picture, with the same calibration carried over.

Cold bore

Switch to COLD BORE mode and tap to mark it, or mark it as an ordinary shot first and press SELECTED IS COLD BORE afterwards — whichever order you find out in. It's reported separately (distance from your aim point and from the group center) and left out of every group statistic; a previous cold bore put back with COLD BORE → SHOT rejoins the group rather than vanishing.

Rifles & barrels

A rifle owns one or more barrels over its life, and Rifles tracks round counts for each: on the action overall, on the current barrel, and since its last clean. Logging rounds (Rifles → a rifle → Log rounds) is deliberate and separate from saved groups — you don't measure every group you shoot, so groups alone always undercount actual rounds fired. A clean appends a new count-from point rather than resetting the barrel's whole life, so "since clean" and "on this barrel" stay independently correct. Swapping barrels doesn't lose history: add the new one on Rifles → a rifle, and every group already marked stays linked to whichever barrel it was actually shot on, which is what lets Zero (below) filter to one specific barrel rather than pooling a barrel change into one number.

Load profiles

Every group links to a load profile — the wizard asks you to pick one before it lets you save, defaulting to your active one. A profile carries charge, seating depth and caliber, and picking it prefills all three, but they stay editable per group: a load-dev ladder deliberately tests a different charge or seating off the same profile. Trend and Window use whichever value is set on the group itself, falling back to the profile's only if you never touched it. Running a ladder against a real load pulls those rungs into that load's own Zero and Trend history, which is rarely what you want — start a load-dev profile instead (Loads → + New load-dev profile). It carries the rifle and caliber over so rungs have somewhere to hang, stays out of Zero entirely and out of Trend until you activate it there, and once you've picked a keeper charge, Promote turns it into a normal load. A profile's own edit screen also shows pooled precision across every group linked to it — the same re-basing Composite uses below, kept live rather than something you build by hand.

Caliber & edge-to-edge

Pick a caliber (or enter a custom bullet diameter) on a profile or a group to see edge-to-edge spread — center-to-center plus one bullet diameter — alongside the raw center-to-center number.

Velocity & flier triage

Paste a whole string of chronograph readings at once, or turn on PAIR READINGS TO SHOTS to enter one per shot in the order you marked them — entirely optional, and a blank row just gets skipped by every pooled figure. Readings don't have to be typed by hand either — Import CSV on Group Details reads a chronograph's own exported file (LabRadar, MagnetoSpeed, or a generic column-header format) and fills the field for you. Pairing unlocks two things on Group Detail: a chart of each shot's vertical position against its own velocity reading, and how much of the group's vertical spread the velocity actually explains as one number (with what's left once it's accounted for) — plus, when one shot clearly opened the group up, whether that shot's reading was also an outlier. A wide shot at a normal velocity points at the rifle, the hold, or a called flier; a wide shot that also left the barrel unusually fast or slow is very likely the round itself. Needs 5 or more paired readings before either says anything, so a real pattern isn't drawn from noise.

Range sessions

A session groups everything shot in one range visit under one shared set of conditions — temperature, humidity, pressure, wind — so you enter them once instead of on every group. Start one from the wizard's Session picker (or Settings → Sessions), and every group you save into it inherits its conditions unless you override them on that group specifically. The Pressure field on a session (or a group with no session) has a DEVICE button that reads your phone's barometer directly, on phones that have one.

Composite groups

Combining groups re-bases every source group's shots around a shared point of aim (if every source has one marked) so they land in one shared coordinate space for a pooled estimate. Group Detail keeps each source in its own color and shape, with a ring at its own average point of impact and a crosshair at the average across all of them — so you can see whether one test is dragging the pooled result, not just the pooled shape. COMPOSITE builds one and keeps it; FIND WINDOW (below) builds the same pooling to answer one question and keeps nothing.

Trend charts

Plot mean radius, extreme spread, dispersion, velocity (average or SD), or cold-bore distance from your point of aim across your saved groups. "Against" isn't just charge, seating or save order — temperature and pressure are there too, for spotting a load that's sensitive to conditions, and so are rounds on the barrel and rounds since its last clean, for watching accuracy fall off as a barrel wears. Rifle and barrel dropdowns sit at the top of the tab, narrowing everything below before any other filter does — they only appear once you actually have more than one, and picking a rifle narrows the barrel list to its own. Load, tag and range stay behind the FILTER button underneath. Switch on the velocity box plot to see each group's full spread (min, Q1, median, Q3, max) instead of one summary point, which shows up an inconsistent charge before it shows as a wide extreme spread.

The Window tab

Select 2 or more marked groups from a charge or seating ladder in the Groups library and tap Find window. No particular tag is needed — what matters is the charge or seating actually used on each one. It asks which variable you were actually testing — charge or seating — since a window only means something as a run of sequential steps in one of them. It then plots how every load in the ladder actually shot — group size and velocity against that variable — over a shaded band marking the flattest run, the stretch of consecutive steps where point of impact moves least. A load sitting mid-run is less sensitive to small variation. Find window saves nothing; use Composite when you want the pooled group kept.

Compare groups

Select 2 or more groups from the Groups library and tap Compare. Basic mode keeps it to the essentials; Advanced adds edge-to-edge, width/height, calculated CEP, windage/elevation, a zoomed-to-fit target picture for each group, and — when the selection spans more than one rifle — which rifle each group came from. With exactly two groups selected, Compare also runs a bootstrap significance test on their dispersion — not just which one measured tighter, but whether the difference is bigger than sampling noise from that many shots would produce on its own, with a plain verdict rather than a bare p-value. The mm/cm/in switcher in Compare only changes this view; it never touches your default unit in Settings. When the groups you're comparing also fall inside a saved Window, Compare says so and flags which ones are in it.

Zero check

Pools windage and elevation across every eligible group shot since your last zero reset, net of any scope correction you've already dialed in. Filter to one barrel and one load before trusting the verdict — zero belongs to that pairing, and pooling across a barrel change or two different charges answers a question that was never asked.

Confidence & hit probability

Every dispersion figure on Group Detail (max center-to-center, mean radius, dispersion) carries a 95% confidence interval underneath it once you have 5+ shots — a bootstrap resample of your own shots, not a formula assuming a distribution — so "9.5mm" reads as "9.5mm, could reasonably be 6.7–13.1" rather than a false level of precision. Below that, Hit probability and R50/R90/R95 answer a different question: given this group's spread, what fraction of shots would land inside a target of a size you choose. If a group has a called flier, the toggle above the stats table recomputes every number with and without it — the flagged shot always stays visible on the photo either way, only the numbers switch, and which view you're seeing is always labeled.

Archiving & deleting groups

Archive (from a group's own Details, or multi-select in the library) hides a group from the main list without touching any stat it feeds — reversible any time from Groups → Archived. Delete is the one that actually removes it, staged behind a several-second Undo banner: the group leaves the screen immediately, but nothing is actually erased from storage until that window closes, so backing out of a delete — or closing the app mid-window — loses nothing.

Export & import

Session export saves your records into one JSON file: groups (with their load, charge and seating), loads, rifles and barrels, the round log, sessions, zero resets, saved analyses, target presets and tags. Target photos are not included. Importing adds every record from a file that isn't already here, matched by id, so your groups arrive with the rifles, barrels and sessions they belong to; nothing you have entered is replaced, and importing the same file twice changes nothing. The summary CSV carries the same per-group load data as its own columns; a separate Points CSV exports one row per shot in real millimeters instead, for analysis outside the app. A single group's own Export PNG (on its Details screen) draws that target — your photo, or the blank grid — with its markers, rings and statistics, and opens the share sheet so you can save or send the image.