DiShooter – Your Digital Shooting Partner

Anyone who has stood at a firing point with a target full of bullet holes knows what it's like without DiShooter: after every string you have to walk up to the target, tally the score by hand, and tape over the holes or swap in a new target – so the next string doesn't blend into the last one. It takes time and breaks your concentration.

DiShooter makes that easier. Take a photo, and the app automatically recognises the target, marks the hits, assigns scores, and calculates all the stats you need. Most importantly – within one training session it remembers where you hit in previous strings, so between strings you don't need to take the target down or tape it over. The full description of this feature is in section 5. Trainings – strings without taping.

Below is a complete guide to all the app's features.


1. Basic concepts

To keep this manual clear from the first read, here are a few terms used in the app:

  • Photo / analysis – one shot of the target and its automatic result (hits, score).
  • Session – a saved analysis in Session history (Sessions tab), or, in the context of a training, a training session: a place where you can add multiple photos (one per string) shot at the same target.
  • Training – a set of training sessions; e.g. one training can cover several targets (sessions), and each target – several strings (photos).

In short: Photo → Session (training) → Training.


2. App navigation

At the bottom of the screen there are four tabs:

TabIconDescription
HomeHomeStart screen with quick actions and access to Settings
PhotoCameraTake or pick a target photo and run analysis
SessionsHistoryList of saved analyses (session history)
TrainingsDumbbellList of trainings (active and completed)
  • Open Settings from the Home screen – gear icon in the top right.
  • Back (arrow in the top bar) – on subpages returns to the previous screen or to the Home tab.

3. Home screen

On the start screen you have four quick-access cards:

  • Start training – creates a new training and opens its details (where you add sessions and photos).
  • Take photo – switches to the Photo tab (camera / gallery); a quick, one-off analysis without creating a training.
  • Training history – switches to the Trainings tab.
  • Session history – switches to the Sessions tab (saved analyses).

The Settings (gear) icon in the top right opens the settings screen.


4. Recognised targets

The app automatically recognises ISSF targets:

  • 25 m Precision and 50 m Pistol Target (TS2),
  • 50 m Rifle Target (TS1).

Other target types (e.g. 10 m air, sporting, hunting, IPSC) are not currently recognised automatically. If you photograph a different type, you'll see the warning "Target type not recognised" – you can then set the score manually only (see 7.1).


5. Trainings – strings without taping

A training is a set of training sessions. Within one training session you can add multiple photos of the same target – one after each string – and the app automatically tells which hits are new (red) and which come from previous strings in this session (yellow). This means that between strings you don't need to take the target down or tape over the holes.

How it works in practice:

  1. Hang the target and create a training, and within it a training session (one session = one target).
  2. Shoot the first string, take a photo – this is the first photo in the session.
  3. Don't tape over the holes. Shoot the next string and add another photo – the app will detect the new hits against the previous ones (yellow markers) and calculate stats only for the new string.
  4. Repeat step 3 for every following string.
  5. After the last string, complete the session, and at the end of the training, complete the training.

The full history of strings in a session is saved and available to review at any time.

Known limitation: if a new hit lands very close to, or in the same spot as, a previous one, the automatic "old/new" distinction may be uncertain – the app will flag this with a low-match-quality warning (see 7.1). In that case you can correct the result manually.

5.1 Training list

The Trainings tab has two sections:

  • Active trainings – in progress; you can add sessions and photos.
  • Completed trainings – finished; view only, no adding.

At the top: + (New training) – creates a new active training and opens its details. Swiping a training row left lets you delete it.

5.2 Training details

The training card shows the start date, end date (or "Ongoing"), and any notes.

  • Complete training (double-check icon) – available for active trainings; once confirmed in the dialog, the training is closed and you can no longer add sessions/photos to it.
  • Add session (floating button, active trainings only) – creates a new training session and opens its details.
  • List of training sessions within this training – tapping a session opens its details.

5.3 Training session and photos

In a training session's details (e.g. "Session from [...]") you see:

  • a session summary card: number of bullet holes on the target, total score, average radius, group size, standard deviation, horizontal/vertical spread, notes,
  • Complete session (double-check icon, active sessions only) – once confirmed, blocks adding further photos (strings) to this session,
  • Add photo (floating button with camera icon, active sessions only) – starts the same flow as the Photo tab (camera / gallery); you tap this after every string,
  • a list of photos in the session – each photo is one string/analysis, listed chronologically.

Tapping a photo in the session opens Session/photo details: a preview with yellow markers for previous hits in this session, the Summary, and editing of hits and scores (if the session is active). Manually added hits are reflected in the Summary immediately.


6. Photo and target analysis

6.1 Taking or choosing a photo

  1. Open the Photo tab.
  2. Choose:
    • Take photo – opens the camera (requires camera permission),
    • Choose from gallery – pick a photo from the device (requires photo permission) – useful if you already have target photos from previous trainings.

Available options depend on Photo source in Settings (Gallery and camera / Camera only / Gallery only). On iOS you can also turn on the flash for low light (see 9.5).

6.2 Analysis

After choosing or taking a photo the app automatically:

  • recognises the target type (see 4. Recognised targets),
  • detects hits (bullet holes) and assigns scores.

The result appears on the photo preview as an overlay:

  • red markers (colour and size configurable) – hits detected on the current photo, with the score shown next to each,
  • yellow markers – hits from previous photos in the same training session (see 5. Trainings); only shown when the session has more than one photo,
  • bottom-left corner of the photo: the recognised target type abbreviation,

You can zoom and pan the photo preview:

  • with gestures (pinch to zoom, drag to pan) and/or
  • with on-screen controls (up/down/left/right arrows, plus/minus for zoom) – depending on the Preview control setting.

Two icons above the photo toggle the visibility of elements while reviewing:

  • the arrows icon – shows/hides the preview control buttons,
  • the target/GPS icon – shows/hides the hit markers.

6.3 If the app doesn't recognise the target or hits

The following warnings may appear below the photo:

MessageMeaning
Target type not recognisedThe model couldn't identify which target it's looking at – scoring may be unavailable or unreliable.
Target type inferredThe target type was assumed from previous photos in the session, not determined with certainty from the current photo.
Centre unknownThe target centre couldn't be detected – scoring relative to the rings may be imprecise.
Calibration unreliableThe scoring ratio is uncertain (e.g. poor lighting, bad angle, target partially obscured).
Image processing error -3Internal error detecting the target centre.

In any of these cases you can correct the result manually (see 7.1) or retake the photo under better conditions (see the tips in 11).

6.4 Summary and save

Below the photo you'll see the Summary card:

  • target type, date,
  • number of hits detected, total score,
  • average radius MR [mm] – the average distance of hits from the group centre,
  • group size ES [mm] – the largest distance between any two hits in the group,
  • standard deviation of radius [mm],
  • horizontal and vertical spread [mm] – useful for diagnosing technique issues (e.g. a consistent spread to one side).

At the bottom of the screen:

  • Save session – saves the result to Session history (or to the current training session, if the photo was added from a training). After saving, the previous screen reopens, or you'll see a confirmation such as "Session saved" / "Photo added to session".
  • Discard – don't save; the analysis is not added to history.
  • Clear (only while adding a photo to an active training session) – clears the current draft analysis so you can start it over without saving.

7. Editing results

7.1 Editing results – changing scores, deleting and adding hits

On the preview screen (Photo tab, analysis preview, or session details in History or Trainings):

  1. Select the Edit (pencil) icon in the top bar to enter edit mode.
  2. Change a hit's score – long-press an existing marker, then release – the menu appears after you lift your finger; choose to change the score (1–10) and confirm.
  3. Delete a hit – long-press the marker, release, and choose Delete in the menu that appears.
  4. Add a new hit:
    • in edit mode, tap the + icon (add hit),
    • tap the spot on the photo where the hit should be – a magnifier appears with a zoomed-in view of that spot (5× by default, adjustable in Settings),
    • drag the marker to fine-tune its position,
    • tap + Add score,
    • choose how many points to assign to the hit and tap Save.
  5. Finish editing – tap the Save (floppy disk) icon to leave edit mode.

Manually added and edited hits are immediately reflected in the Summary (total score, average radius, group size, standard deviation, spreads).

Note – yellow markers after editing: if a training session has more than one photo, the app automatically tries to match hits from previous photos (yellow markers) to the current shot. After a manual edit, this match may become outdated – the app will then show a warning. You may also see a notice about low match quality. Yellow markers are only a visual aid and don't affect the scoring of the current photo.


8. Session history

The Sessions tab shows the list of saved analyses (sessions), newest first.

  • Each list item shows the target type, total score, date and time, and – if the analysis has warnings (e.g. unreliable calibration) – an info icon.
  • Open details – tap a session row. The same "Session details" screen opens: image with hits, Summary, and editing (if available).
  • Delete session – swipe the row left; confirm deletion in the dialog (showing the session date). This cannot be undone.
  • Refresh list – pull the list down (pull-to-refresh).
  • When the list is empty, you'll see "No saved sessions".

9. Settings

Open Settings from the Home screen (gear icon). All the options below are saved on the device and applied to future analyses.

9.1 User manual

The first item in the list – opens this manual.

9.2 Dark mode

Dark mode switch – turns the app's dark theme on or off.

9.3 Language

Language – choose the app language: system default, Polish, English.

9.4 Photo source

  • Gallery and camera (default) – both camera and gallery are available on the Photo screen.
  • Camera only – take a photo only.
  • Gallery only – pick from the gallery only.

9.5 Preview control

Controls zoom and pan on the analysis preview and session details screen:

  • Gestures (default) – zoom and pan only with gestures (pinch, drag), 1×–5× zoom.
  • Buttons – on-screen buttons only (arrows and +/-) – handy e.g. when wearing gloves.
  • Gestures and buttons – both methods at once.

Additional options:

  • Invert arrows – reverses the direction of the pan buttons (e.g. up/down, left/right).
  • Flash (iOS only) – uses the flash when taking a photo with the camera, helpful in low light.

9.6 Hit marker

  • Size – slider 2–20 px, with a live preview.
  • Colour – choose from: green, red (default), cyan, blue, orange, purple, pink.

9.7 Previous hit marker

  • Size – slider 2–6 px (markers for hits from previous photos in the same training session), with a preview.

9.8 Magnifier size

  • Slider 2×–10× (5× by default) – sets the zoom level of the magnifier shown while manually marking a new hit on the photo (see 7.1).

9.9 Score size

  • Size – slider 2–20, with a preview of a sample hit scored "10".
  • Label colour – choose from: white, navy, lime, cyan, pink, red, green, blue.
  • Show score – toggle that shows/hides the score next to hit markers (when off, only the markers themselves are shown, without numbers).

9.10 Advanced

The Bullet confidence and Bullet NMS fields let you manually fine-tune the AI model's thresholds for hit detection:

  • Bullet confidence (0.10–0.50) – the minimum confidence level at which the model treats a detected object as a hit. Lower = more detections (but more false positives), higher = fewer detections (but only very confident ones).
  • Bullet NMS (0.10–0.60) – the threshold for removing overlapping detections of the same hit.

Each field has a reset button to restore the default value. Only change these if you know what you're doing – the default thresholds are recommended for normal use.

9.11 About

The About link at the bottom of the Settings screen opens the list of open-source licences used in the app.


10. Data and privacy

  • The app works fully offline – the entire photo analysis (target and hit recognition) runs locally on your device. No internet connection is required, so DiShooter also works at a range with no signal.
  • All photos and results (sessions, trainings) are stored only on your device.
  • The app does not send photos or data to external servers.
  • No account, ads, or tracking.
  • The app does not currently offer exporting results to PDF/CSV or a "share" function – everything stays locally in your session and training history.
  • For details, see the Privacy policy (link provided in the app store).

11. Tips

  • Better analysis – photograph the target in good, even lighting, with the target roughly straight-on – camera parallel to the target (a slight tilt is fine) and fully visible in the frame, avoiding glare on the surface. Avoid shadows covering the bullet holes.
  • Editing – if the automatic scoring gets something wrong, use edit mode: long-press a hit and release to open the menu for changing its score or deleting it, or add a new hit manually – the magnifier will help you place it precisely in the centre of the hole.
  • Trainings and strings without taping – to get the most out of DiShooter, work within a Training: one session per target, one photo per string. When finished, complete the session and the training so nothing more can be added.

Last updated: 2026-06-21