DiShooter – your digital shooting companion
Anyone who has stood at a firing point with a target full of holes knows what it's like without DiShooter: after every string you walk up to the target, count the score by eye, tape over the holes or swap in a fresh target – so the next string doesn't blend in with the last one. It takes time and breaks your concentration.
DiShooter makes that easier. Take a photo with your phone, and the app automatically recognises the target, counts the hits, and assigns scores. 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 container 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).
-
Gear – the equipment management module (tab at the bottom of the screen).
-
Arsenal – a list of weapons and gear items (rifles, pistols, accessories) registered in the app.
-
Set – a named collection of arsenal items (e.g. "Competition set") that can be assigned to a training session.
In short: Photo → Session (training) → Training.
2. App navigation
At the bottom of the screen there are five tabs:
| Tab | Icon | Description |
|---|---|---|
| Home | Home | Start screen with quick actions and access to Settings |
| Photo | Camera | Take or pick a target photo and run analysis |
| Sessions | History | List of saved analyses (session history) |
| Trainings | Fitness | List of trainings (active and completed) |
| Gear | Inventory | Arsenal, ammunition and equipment sets |
- 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).
- Gear – switches to the Gear tab (arsenal, ammunition, sets).
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 (TS1),
- 50 m Rifle Target (TS2).
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 8.1).
5. Gear – equipment management
The Gear tab (inventory icon on the navigation bar) lets you track your shooting equipment and configure sets for sessions.
5.1 Arsenal
A list of weapons and gear items. For each item you can enter:
- Name (required)
- Type (pistol, rifle, revolver, etc.)
- Manufacturer (list of over 130 manufacturers)
- Calibre (list of over 100 calibres)
- Serial number, year of manufacture, notes
Add: + button (floating). Edit: tap the item. Delete: swipe left (with confirmation).
5.2 Ammunition
A list of ammunition you've defined. For each entry you can enter:
- Name (required)
- Manufacturer and calibre
- Bullet type (FMJ, JHP, HPBT and others — 20 types)
- Bullet weight
- Muzzle velocity [m/s]
- Notes
5.3 Sets
A set is a named collection of arsenal items. Sets let you describe what you're shooting with in a given session — you can select one when configuring a training session (see 6.1).
Add an item to a set: + button in the set's detail view, then pick an item from the arsenal list. Remove an item: swipe left.
5.4 Dictionary management
From the Arsenal and Ammunition screens, a button (book icon in the top right) leads to the dictionary hub, where you can edit the dropdown lists used in forms:
- Manufacturers
- Calibres
- Weapon types
- Bullet types
- Bullet weights
Entries marked with a padlock (system entries, built-in) are protected from deletion. You can add your own entries with the + button.
6. 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 every string – and the app automatically tells new hits (red) apart from hits from earlier strings in that 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:
- Hang the target and create a training, then a training session within it (one session = one target).
- Shoot the first string, take a photo – this is the first photo in the session.
- Don't move the target. Shoot the next string and add another photo – the app detects the new hits against the previous ones (yellow markers) and computes statistics for the new string only.
- Repeat step 3 for every following string.
- 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 8.1). In that case you can correct the result manually.
6.1 Session configuration
Before adding the first photo to a new training session, the app shows an optional configuration screen where you can select:
- Distance – distance to the target (e.g. 25 m, 50 m)
- Position – shooting position (e.g. prone, standing)
- Set – a weapon set from the Gear module
- Ammunition – ammunition from the Gear module
All fields are optional — you can skip the configuration with the Skip button. The selected data is saved with the session.
6.2 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 (with confirmation).
6.3 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.
6.4 Training session and photos
In a training session's details 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.
7. Photo and target analysis
7.1 Taking or choosing a photo
- Open the Photo tab.
- 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 10.5).
7.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 6. 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 overlay.
7.3 If the app doesn't recognise the target or hits
The following warnings may appear below the photo:
| Message | Meaning |
|---|---|
| Target type not recognised | The model couldn't identify which target it's looking at – scoring may be unavailable or unreliable. |
| Target type inferred | The target type was assumed from previous photos in the session, not determined with certainty from the current photo. |
| Centre unknown | The target centre couldn't be detected – scoring relative to the rings may be imprecise. |
| Calibration unreliable | The pixel-to-mm ratio is uncertain (e.g. poor lighting, target partially obscured). |
| Image processing error -3 | Internal error detecting the target centre. |
In any of these cases you can correct the result manually (see 8.1) or retake the photo under better conditions (see the tips in 11).
7.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 over without saving.
8. Editing results
8.1 Editing results – changing scores, deleting and adding hits
On the preview screen (Photo tab, analysis preview, or session details in History or Trainings):
- Tap the Edit (pencil) icon in the top bar to enter edit mode.
- 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.
- Delete a hit – long-press the marker, release, and choose Delete in the menu that appears.
- 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,
- confirm and set the score in the dialog.
- 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 low match quality notice (with a percentage), and in some views, which algorithm computed the match and when. Yellow markers are only a visual aid and don't affect the scoring of the current photo.
9. 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".
10. Settings
Open Settings from the Home screen (gear icon). All the options below are saved on the device and applied to future analyses.
10.1 User manual
The first item in the list – opens this manual.
10.2 Dark mode
Dark mode switch – turns the app's dark theme on or off.
10.3 Language
Language – choose the app language: system default, Polish, or English.
10.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.
10.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 flashlight/flash when taking a photo with the camera, helpful in low light.
10.6 Hit marker (red)
- Size – slider 2–20 px, with a live preview.
- Colour – choose from: green, red (default), cyan, blue, orange, purple, pink.
10.7 Previous hit marker (yellow)
- Size – slider 2–6 px (markers for hits from previous photos in the same training session), with a preview.
10.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 8.1).
10.9 Score size
- Font 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 number next to hit markers (when off, only the markers themselves are shown, without numbers).
10.10 Advanced
The Bullet confidence and Bullet NMS fields let you manually fine-tune the hit-detection model's thresholds:
- Bullet confidence (0.10–0.50) – the minimum confidence level at which the model treats a detected object as a hit. A lower value means more detections (but also more false positives); a higher value means fewer detections (but only very confident ones).
- Bullet NMS (0.10–0.60) – the threshold for removing overlapping detections of the same hit (non-max suppression).
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.
10.11 About
The About link at the bottom of the Settings screen opens the list of open-source licences used in the app.
11. 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 and the equipment store (Gear).
- For details, see the Privacy policy (link provided in the app store).
12. Tips
- Better analysis – photograph the target in good, even lighting, with the target roughly straight-on (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.
- Set up Gear before the season – configure your arsenal and ammunition once, before you start training. Then each session you just pick a set and a round from the list — the history will remember what you used for every string.