Skip to main content

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.
Step 1 — Photo capture screen showing camera button and upload area

How to Take the Photo

  1. Tap the camera area to open your device camera
  2. Place your fish on a measuring scale (ruler, bump board, or measuring mat)
  3. Make sure the entire fish and scale markings are clearly visible
  4. 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:
CheckWhat It DoesResult
Species DetectionIdentifies the fish species using AISpecies name + confidence level
Scale DetectionVerifies a measuring scale is visibleScale visible / not visible
Authenticity CheckDetects AI-generated or manipulated imagesAuthentic / Suspicious
Recapture DetectionDetects if the photo is a photo-of-a-photo or screen captureOriginal / Recapture detected
Duplicate CheckChecks if this exact photo was already submittedUnique / Duplicate
GPS & Date ExtractionReads location and timestamp from photo metadata (EXIF)Coordinates + date
Image AgeVerifies 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.
Step 1 — AI check results showing species detection and authenticity verification

Common Rejection Reasons (Step 1)

If your photo is rejected, a dialog will explain why. Common reasons include:
RejectionWhat It MeansHow to Fix
No GPS dataPhoto doesn’t contain location metadataEnable GPS on your phone and take a new photo through the app
No date informationPhoto is missing EXIF timestampUse the original photo from your camera, don’t use edited or transferred images
Image too oldPhoto was taken more than the allowed number of hours agoTake a fresh photo of your current catch
No species detectedAI couldn’t identify a fish in the photoMake sure the fish is clearly visible and well-lit
No scale visibleAI couldn’t detect a measuring devicePlace your fish on a visible ruler or measuring mat
Unsupported speciesThe detected species is not in the competitionOnly supported species can be submitted (Pike, Zander, Perch, Carp, etc.)
Suspicious imageThe image appears AI-generated or heavily manipulatedUse an original, unedited photo
Recapture detectedThe photo appears to be a photo of another photo or screenTake a direct photo of the actual fish
Duplicate imageThis exact photo was already submittedEach 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.
Step 2 — Species selection and length entry with verify button

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

  1. Enter the fish length in centimeters (whole numbers only, 1–500 cm)
  2. 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:
ConfidenceMeaningEffect on Status
🟢 HighAI measurement closely matches your entered lengthCatch stays approved
🟡 MediumAI measurement partially matches — some uncertaintyCatch set to pending review
🔴 LowAI measurement differs significantly from entered lengthCatch set to pending review
Step 2 — Length verified with high confidence showing green indicator
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.
Step 3 — Catch details form with date, location, water body, and country fields

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:
  1. Nearby Waters — Automatically detected water bodies near your GPS location (rivers, lakes, canals) using OpenStreetMap data
  2. Previously Used — Water names from your previous approved catches in the same country
  3. Custom Entry — Type any water name if the auto-detection didn’t find the right one
Step 3 — Water body selector showing nearby waters and previously used options
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
Step 3 — Extra photo upload area with two dashed upload boxes

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:
  1. Tap the “Submit Catch” button
  2. If you haven’t added extra photos, a prompt will ask if you want to add some or continue without them
  3. The app uploads your photos, runs final moderation checks, and saves your catch
Step 3 — Submit button at the bottom of the form

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
Success screen showing congratulations message with View Catch and Submit Another buttons

Catch Status

Your catch will have one of two statuses:
StatusMeaning
ApprovedAll AI checks passed with high confidence. Your catch is immediately visible and counts toward rankings.
PendingOne 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

RequirementWhy
Use the app’s cameraEnsures GPS and timestamp metadata are captured correctly
Place fish on a measuring scaleRequired for AI length verification
Make sure scale markings are visibleThe AI reads the scale to verify your length entry
Keep GPS enabledLocation is required for country detection and fair play
Use good lightingBetter photos = more accurate AI species detection
Take the photo immediatelyPhotos older than the configured time window will be rejected

❌ Don’ts

AvoidWhy
Screenshots or screen photosDetected by recapture check and rejected
Downloaded or transferred imagesMay lose EXIF metadata or be flagged as suspicious
Heavily edited photosMay be flagged as AI-generated or manipulated
Photos without a measuring deviceScale detection will fail
Using someone else’s photoDuplicate check will catch reused images
Photos taken days agoImage age check will reject old photos

Troubleshooting

”My photo keeps getting rejected”

  1. Check GPS is enabled — Go to your phone’s Settings → Location and make sure it’s turned on
  2. Take a fresh photo — Use the app’s camera button, don’t import from your gallery
  3. Show the measuring scale clearly — The AI needs to see ruler/scale markings
  4. Make sure the fish is visible — Good lighting and clear framing help species detection
  5. 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:
  1. Try the search field to look through previously used water names
  2. Type the name manually — a “Use [name]” option will appear
  3. 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.