Submit a Catch
Open Fishing Cup uses a 3-step wizard to submit your catch. Each step includes AI-powered checks to ensure fair play and accurate rankings.
Mobile App Required — Catch submissions are only available in the native mobile app (iOS & Android). The web version will prompt you to download the app if you try to submit from a browser.
Before You Start
Make sure you have:
- ✅ An Open Fishing Cup account (sign up for free)
- ✅ The mobile app installed (App Store / Google Play)
- ✅ GPS/Location Services enabled on your phone
- ✅ A measuring scale or ruler ready for your catch
Step 1: Take Your Photo
The first step is capturing a photo of your catch with the measuring scale visible.
How to Take the Photo
- Tap the camera area to open your device camera
- Place your fish on a measuring scale (ruler, bump board, or measuring mat)
- Make sure the entire fish and scale markings are clearly visible
- Take the photo — GPS coordinates and timestamp are automatically recorded
The photo must be taken directly with your phone camera through the app. Screenshots, photos of screens, and photos downloaded from the internet will be rejected.
What the AI Checks
Once you take your photo, the app runs several automated checks simultaneously:
| Check | What It Does | Result |
|---|
| Species Detection | Identifies the fish species using AI | Species name + confidence level |
| Scale Detection | Verifies a measuring scale is visible | Scale visible / not visible |
| Authenticity Check | Detects AI-generated or manipulated images | Authentic / Suspicious |
| Recapture Detection | Detects if the photo is a photo-of-a-photo or screen capture | Original / Recapture detected |
| Duplicate Check | Checks if this exact photo was already submitted | Unique / Duplicate |
| GPS & Date Extraction | Reads location and timestamp from photo metadata (EXIF) | Coordinates + date |
| Image Age | Verifies the photo was taken recently (within the configured time window) | Within limit / Too old |
Status Indicators
After the checks complete, you’ll see status cards with color-coded results:
- 🟢 Green — All checks passed with high confidence. Your catch will be approved automatically.
- 🟡 Gold/Yellow — Some checks passed with medium or low confidence. Your catch will be submitted as pending for manual review.
- 🔴 Red — One or more critical checks failed. The photo is rejected and you’ll need to take a new one.
Common Rejection Reasons (Step 1)
If your photo is rejected, a dialog will explain why. Common reasons include:
| Rejection | What It Means | How to Fix |
|---|
| No GPS data | Photo doesn’t contain location metadata | Enable GPS on your phone and take a new photo through the app |
| No date information | Photo is missing EXIF timestamp | Use the original photo from your camera, don’t use edited or transferred images |
| Image too old | Photo was taken more than the allowed number of hours ago | Take a fresh photo of your current catch |
| No species detected | AI couldn’t identify a fish in the photo | Make sure the fish is clearly visible and well-lit |
| No scale visible | AI couldn’t detect a measuring device | Place your fish on a visible ruler or measuring mat |
| Unsupported species | The detected species is not in the competition | Only supported species can be submitted (Pike, Zander, Perch, Carp, etc.) |
| Suspicious image | The image appears AI-generated or heavily manipulated | Use an original, unedited photo |
| Recapture detected | The photo appears to be a photo of another photo or screen | Take a direct photo of the actual fish |
| Duplicate image | This exact photo was already submitted | Each photo can only be used once |
If your photo is rejected, tap “Try Another Photo” to retake. You can also tap “Cancel” to go back to the home screen.
GPS Source
The app uses two sources for location data, shown with an indicator badge:
- 🖼️ Photo EXIF — GPS coordinates embedded in the photo file by your camera (preferred)
- 📱 Device GPS — Real-time location from your phone’s GPS sensor (fallback when EXIF data is missing)
You can expand the GPS Coordinates section to see the exact latitude, longitude, altitude, and photo date.
Step 2: Species & Length
Once your photo passes the checks, you’ll move to Step 2 to confirm the species and enter the fish length.
Species Selection
- The AI automatically pre-fills the detected species from Step 1
- If the detection was wrong, you can manually select a different species from the dropdown
- Each species is shown with its icon for easy identification
Entering the Length
- Enter the fish length in centimeters (whole numbers only, 1–500 cm)
- Tap the “Verify Length” button
The app will use AI to compare your entered length against what it can measure from the photo. This helps prevent accidental or intentional errors.
Length Verification Results
After tapping “Verify Length”, the AI returns a result with a confidence indicator:
| Confidence | Meaning | Effect on Status |
|---|
| 🟢 High | AI measurement closely matches your entered length | Catch stays approved |
| 🟡 Medium | AI measurement partially matches — some uncertainty | Catch set to pending review |
| 🔴 Low | AI measurement differs significantly from entered length | Catch set to pending review |
Even if length verification fails or returns low confidence, you can still proceed. Your catch will be submitted as pending and reviewed by an admin.
Country-Specific Minimum Lengths
Some countries enforce minimum legal catch sizes. If your entered length is below the minimum for the selected species in your country, you will see a rejection dialog and cannot proceed until you correct the length.
For example, if the minimum length for Pike in Germany is 50 cm and you enter 45 cm, the app will block submission.
Step 3: Details & Submit
The final step collects additional information about your catch and lets you submit.
Auto-Filled Fields
The following fields are automatically filled from your photo’s GPS data:
- 📅 Date & Time — Extracted from the photo EXIF data or device capture time
- 📍 Location — Nearest town/village from reverse geocoding
- 🌍 Country — Detected from GPS coordinates (EU countries supported)
If you manually edit any auto-filled field, your catch status will be changed to pending for admin review. This is a fairness measure to prevent location spoofing.
Water Body Selection
The water body field uses a smart selector with three sources:
- Nearby Waters — Automatically detected water bodies near your GPS location (rivers, lakes, canals) using OpenStreetMap data
- Previously Used — Water names from your previous approved catches in the same country
- Custom Entry — Type any water name if the auto-detection didn’t find the right one
If only one water body is found nearby, it’s automatically selected for you.
Additional Photos (Optional)
You can add up to 2 extra photos of your catch. These are optional but recommended for verification.
- Tap the dashed upload boxes to add photos
- Extra photos must be taken on the same day as the main catch photo (validated via EXIF date)
- Photos with no EXIF date information will be rejected
- Photos are checked for inappropriate content
Caption (Optional)
Add a short caption (up to 250 characters) to tell the story behind your catch. This will appear on your catch card in the feed.
- Captions are checked for inappropriate content and links (links are not allowed)
- If your caption is blocked by moderation, you’ll see an error message
Submitting
When all required fields are filled:
- Tap the “Submit Catch” button
- If you haven’t added extra photos, a prompt will ask if you want to add some or continue without them
- The app uploads your photos, runs final moderation checks, and saves your catch
After Submission
Success Screen
After a successful submission, you’ll see a congratulations screen with two options:
- “View Catch” — Takes you to your catches list (My Catches)
- “Submit Another” — Resets the wizard so you can submit another catch immediately
Catch Status
Your catch will have one of two statuses:
| Status | Meaning |
|---|
| ✅ Approved | All AI checks passed with high confidence. Your catch is immediately visible and counts toward rankings. |
| ⏳ Pending | One or more checks had low/medium confidence, or you edited auto-filled fields. An admin will review your catch manually. |
Pending catches are still saved and visible to you, but they won’t appear in public rankings until approved.
Step Indicator & Navigation
The wizard shows a step indicator at the top with numbered circles:
- Filled circle = current step
- Checkmark = completed step (clickable to go back)
- Empty circle = upcoming step
On mobile, a sticky bottom navigation bar appears with Back/Next/Submit buttons for easy one-handed use.
If you try to navigate away from the wizard after Step 1, you’ll see a confirmation dialog asking if you want to discard your unsaved progress.
Photo Requirements
✅ Do’s
| Requirement | Why |
|---|
| Use the app’s camera | Ensures GPS and timestamp metadata are captured correctly |
| Place fish on a measuring scale | Required for AI length verification |
| Make sure scale markings are visible | The AI reads the scale to verify your length entry |
| Keep GPS enabled | Location is required for country detection and fair play |
| Use good lighting | Better photos = more accurate AI species detection |
| Take the photo immediately | Photos older than the configured time window will be rejected |
❌ Don’ts
| Avoid | Why |
|---|
| Screenshots or screen photos | Detected by recapture check and rejected |
| Downloaded or transferred images | May lose EXIF metadata or be flagged as suspicious |
| Heavily edited photos | May be flagged as AI-generated or manipulated |
| Photos without a measuring device | Scale detection will fail |
| Using someone else’s photo | Duplicate check will catch reused images |
| Photos taken days ago | Image age check will reject old photos |
Troubleshooting
”My photo keeps getting rejected”
- Check GPS is enabled — Go to your phone’s Settings → Location and make sure it’s turned on
- Take a fresh photo — Use the app’s camera button, don’t import from your gallery
- Show the measuring scale clearly — The AI needs to see ruler/scale markings
- Make sure the fish is visible — Good lighting and clear framing help species detection
- Don’t edit the photo — Use the original, unmodified photo
”My catch is pending instead of approved”
This happens when:
- AI species confidence was medium or low
- AI scale confidence was medium or low
- Length verification returned low confidence or failed
- You manually edited auto-filled fields (date, location, country)
Pending catches are reviewed by admins and will be approved if everything looks correct.
”I can’t find my water body”
If the automatic water detection doesn’t find your fishing spot:
- Try the search field to look through previously used water names
- Type the name manually — a “Use [name]” option will appear
- Water names are title-cased automatically (e.g., “lake michigan” → “Lake Michigan”)
“The app says I need the mobile app”
Catch submissions are restricted to the native mobile app for GPS verification and camera access. Download the app from the App Store or Google Play to submit catches.
”Rate limit reached”
If you see a rate limit error, wait a few minutes before trying again. This protects our AI services from overload.