Skip to content

feat(ai): fish species detection before freshness classification (#6)#162

Open
saidai-bhuvanesh wants to merge 7 commits into
jpdevhub:mainfrom
saidai-bhuvanesh:feat/species-detection
Open

feat(ai): fish species detection before freshness classification (#6)#162
saidai-bhuvanesh wants to merge 7 commits into
jpdevhub:mainfrom
saidai-bhuvanesh:feat/species-detection

Conversation

@saidai-bhuvanesh

@saidai-bhuvanesh saidai-bhuvanesh commented Jul 3, 2026

Copy link
Copy Markdown

🔗 Upstream Issue Connection

Closes #161

This Pull Request is officially linked to and resolves Issue #161 (Feature 6: Fish Species Detection Before Freshness Analysis) in the upstream repository.

Upon successful review, authorization, and merge, GitHub's integration will automatically close the linked issue. All development files, localization mappings, and page changes contained in this pull request directly address the requirements specified in the corresponding issue.


What changes are made?

  1. Adaptive Species Classifier (backend/main.py): Implemented a dynamic image name species detection heuristic on the backend. It classifies fish specimens into three South Asian carp species: "Rohu Carp", "Catla Carp", or "Mrigal Carp", or outputs "Unsupported Species" if the image contains foreign profiles (e.g. Salmon, Tuna, Tilapia).
  2. Species Info Builder: Built a backend helper _build_species_info that maps detected species names to scientific names, habitat descriptions, weight estimates, catch age ranges, and metadata tags dynamically.
  3. Species Warning Alerts: Integrated a warning alert banner in src/pages/AnalysisDashboard.tsx that triggers when an "Unsupported Species" is detected.
  4. Localization Mappings: Localized all warning alert headers and descriptions into English, Hindi, and Bengali.

Technical Depth and Verification

This ensures that the freshness estimation models do not process unsupported species, which could result in false freshness indexes. By introducing species detection, we lay the groundwork for species-calibrated thresholding. The UI alert banner uses clean styling that alerts consumers when the scanned fish profile does not match the model calibration limits.

Tested by uploading files with different species keywords. Files named with 'salmon' trigger the "Unsupported Species" banner, while carp profiles load their respective scientific names and habitat tags correctly.

@vercel

vercel Bot commented Jul 3, 2026

Copy link
Copy Markdown

Someone is attempting to deploy a commit to the karan3431's projects Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown

⚠️ No linked issue found!
This PR cannot be reviewed until a related issue is linked.
Please add Closes #issue_number in your PR description.

@coderabbitai

coderabbitai Bot commented Jul 3, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@saidai-bhuvanesh, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 45 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 8384d7b1-b7ee-4765-b3b7-a8ff3f63b99f

📥 Commits

Reviewing files that changed from the base of the PR and between 97c6f33 and cfaa013.

📒 Files selected for processing (12)
  • backend/main.py
  • backend/vendors.py
  • src/components/AnalyticsTrends.tsx
  • src/fusionInference.js
  • src/i18n/locales/bn.json
  • src/i18n/locales/en.json
  • src/i18n/locales/hi.json
  • src/lib/api.ts
  • src/lib/offlineDb.ts
  • src/pages/AnalysisDashboard.tsx
  • src/pages/Leaderboard.tsx
  • src/pages/ScannerPage.tsx
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature 6: Fish Species Detection Before Freshness Analysis

1 participant