An end-to-end shooting feedback platform built for real-time tracking, MPI zeroing analysis, collaborative annotation, and a continuously improving data pipeline for performance optimization.
Every interaction feeds the system — from the first photo taken to the trained model update.
A seamless interaction loop that captures data, delivers real-time AI feedback, and routes everything back into model improvement.
The user photographs a physical target directly through the app camera or uploads an existing image from their gallery. High-resolution inputs are accepted and pre-processed automatically for model inference.
The image is securely transmitted to the backend server. A RESTful API layer manages request queuing, authentication, and efficient forwarding to the inference engine — ensuring fast turnaround even under high load.
The STAFS detection model processes the image, identifying and localizing all relevant objects. The model returns bounding boxes, class labels, and confidence scores for each detected element: bullet holes, aim assist zones, and bulls-eye positions.
Using detected bullet hole positions, the system computes the Mean Point of Impact (MPI). The MPI is compared against the bulls-eye center to derive zeroing offset — a precise vector indicating how much to adjust the sight in any direction to achieve zero at that distance.
Results are displayed immediately in the app: an annotated target overlay with detected classes highlighted, grouped scatter analysis, MPI marker, and actionable zeroing guidance. Feedback is visual, intuitive, and instantly interpretable.
Users can annotate results with notes — distance, weather, load type, stance — before saving the session. All raw images, detections, and metadata are stored. Annotated corrections made by users are flagged as verified ground truth.
Saved sessions — particularly those with user-verified annotations — are automatically pushed into a training data queue. A background pipeline processes and formats entries, ensuring clean, balanced datasets for the next training cycle.
The model is continuously fine-tuned on accumulated real-world data. When performance metrics cross defined thresholds, the new model version is promoted to production — replacing the previous deployment. The system self-improves with every user interaction.
Two specialized model variants — one optimized for accuracy in full analysis sessions, one ultralight for real-time AR use.
Automatically computes the Mean Point of Impact from detected bullet hits and derives the precise zeroing correction vector.
After a session, the system aggregates all detected bullet impacts. The centroid of these points forms the Mean Point of Impact — which is then compared to the detected bulls-eye center to compute the required sight adjustment.
The output is a concrete, actionable vector: the exact number of clicks up/down and left/right to achieve perfect zero at the given distance.
All class-0 (bullet) detections are extracted from the inference result. Each centroid coordinate is recorded.
The arithmetic mean of all bullet centroids gives the Mean Point of Impact — the geometric center of the group.
The centroid of the class-2 (bulls_eye) detection provides the ideal zero reference point on-target.
The delta between MPI and bulls-eye is converted to sight adjustment units and displayed as clear directional guidance to the user.
Users don't just receive feedback — they actively contribute to model quality through built-in annotation and session notation tools.
The model never stops learning. Every session generates data that feeds back into the pipeline, continuously elevating accuracy and generalization.
Unlike static deployments, STAFS operates as a living system. Every annotated session becomes training data. Every training run has the opportunity to produce a better model — which is then gated, tested, and automatically promoted if it outperforms the current version.
A purpose-built ultralight model variant powers real-time augmented reality overlays directly on device — zero cloud latency.
The Nano model variant is designed to run fully on-device within AR environments. It overlays real-time detection results — bullet impacts, aim zones, bulls-eye markers — directly onto the physical target as seen through the AR camera.
This eliminates the round-trip to the backend for real-time feedback, enabling sub-50ms response at the device level. Perfect for live training scenarios where latency is critical.
The Nano variant undergoes quantization and architectural pruning derived from the full Fast model. It retains detection quality for all three target classes while dramatically reducing parameter count to fit within AR hardware memory budgets.
Beyond simple detection, the AR module computes and renders the MPI vector live — projecting the calculated group center and zeroing offset directly onto the physical target plane in real time, visible through the AR lens.
Quantified model metrics across both deployed versions and per-class breakdown.
| Class | Precision | Recall | mAP50 |
|---|---|---|---|
| Bullet | 88% | ||
| Aim Assist | 94% | ||
| Bulls Eye | 89% | ||
| Overall | 97.7% | 94.8% | 96.2% |
| Version | mAP50 | mAP50-95 | Status |
|---|---|---|---|
| V4 Nano | 96.2% | 76.7% | Active |
| V3 Fast | 95.8% | 78.9% | Baseline |