Skip to main content

Submit a Catch

Open Fishing Cup uses a single-page scrollable workflow to submit your catch. Sections appear progressively as you complete each one, with AI-powered checks ensuring 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

1. Take Your Photo

The first thing you do is capture a photo of your catch with the measuring scale visible.
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.

Immediate Checks

As soon as you take your photo, the app runs these checks automatically: If GPS or date metadata is missing, the photo is rejected immediately and you’ll need to take a new one.

GPS Source

The app shows where your location data comes from 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.

Common Rejection Reasons

If your photo is rejected, tap “Try Another Photo” to retake. You can also tap “Cancel” to go back to the home screen.

2. Select Species & Enter Length

Once your photo passes the initial checks, the species and length section appears below.
Species selection and length entry with verify button

Species Selection

  • Select your fish species from the dropdown menu
  • Each species is shown with its icon for easy identification
  • The species you select will be verified by AI in the next step

Entering the Length

  1. Enter the fish length in centimeters (whole numbers only, 1–500 cm)
  2. Both species and length are required before you can proceed to verification

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.

3. Verify Your Catch

After selecting the species and entering the length, tap the “Verify Catch” button (marked with a ShieldCheck icon). This triggers all AI-powered checks in parallel:

Verification Results

After the checks complete, you’ll see status cards with color-coded results:
  • 🟢 Green (High confidence) — Check passed. Your catch stays approved.
  • 🟡 Gold/Yellow (Medium confidence) — Some uncertainty. Your catch will be set to pending for manual review.
  • 🔴 Red (Low confidence) — Check failed or significant mismatch. Your catch will be set to pending for manual review.
AI check results showing species detection and authenticity verification

What Triggers “Pending” Status

Your catch is set to pending (requiring manual admin review) when:
  • The AI-detected species differs from your selection or has low confidence
  • The AI-detected length is significantly smaller than what you entered (larger AI lengths are fine)
  • Image authenticity or recapture checks return low confidence
Even if some checks return low confidence, you can still proceed. Your catch will be submitted as pending and reviewed by an admin.
Once verification completes successfully, the button turns green and is disabled — you’re ready to fill in the remaining details.

Rejection During Verification

Some results will block you from proceeding:

4. Fill in Details

After verification, the remaining fields appear for you to complete.
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 several 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. Nearby Cached Waters — If live detection fails or returns nothing, the dropdown is populated with waters previously seen in the surrounding area (~5 km) so you can still pick a known name instead of typing blindly
  4. Custom Entry — Type any water name if none of the above match
Water body selector showing nearby waters and previously used options
If only one water body is found nearby, it’s automatically selected for you. When multiple candidates are returned, the top-ranked one (based on distance and type) is chosen automatically.
Waters cache: To keep detection fast and reliable, results are cached server-side on a ~110 m grid for 120 days. Catches submitted near a previously detected location resolve instantly from cache without calling OpenStreetMap. The cache self-heals when it expires, so OSM edits eventually flow through.

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
If you add at least one additional photo, the “Selfie With Your Catch” prompt is skipped.
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

5. Submit

The “Submit Catch” button becomes active once:
  • Your photo has passed the initial checks
  • You’ve completed the “Verify Catch” step
If water body or country auto-detection fails, the button remains active — you’ll see a toast notification prompting you to fill in the missing fields manually when you tap it.
  1. Tap the “Submit Catch” button
  2. If water or country is empty, you’ll see a toast asking you to enter them
  3. If you haven’t added extra photos, a prompt will ask if you want to add some or continue without them
  4. 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 form 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: When your catch is pending, the app displays a status card listing the specific reasons (e.g., species mismatch, low length confidence, manual edits) along with a notice that manual admin review is required. This transparency helps you understand what triggered the review. Pending catches are still saved and visible to you, but they won’t appear in public rankings until approved.

Photo Requirements

✅ Do’s

❌ Don’ts


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
  • The AI-detected length was significantly smaller than your entered length
  • You manually edited auto-filled fields (date, location, country)
The app shows you the specific reasons for the pending status in a yellow status card, along with a note that manual admin review is required. 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.