Real-time fish freshness assessment using Edge AI. Ensure consumer safety, vendor transparency, and minimize food waste.
- Dual-Stream AI Engine - Analyzes three biologically-significant freshness markers (gill, eye, and body) to distill into a single actionable Freshness Index (0–100).
- Real-Time Camera Scanning - Specialized inference (< 50ms) runs directly on device, providing instant freshness grades and explainable reports.
- Market Trust Map - Aggregates and overlays anonymized scan data onto a live, interactive map to visualize reliable vendor locations globally.
| Category | Technology |
|---|---|
| Frontend | |
| Backend | |
| AI / ML | |
| Core UI | |
| Infra |
git clone https://github.com/gloooomed/FreshScan_AI.git
cd FreshScan_AI
npm installStart both the frontend and backend servers simultaneously:
npm run devFreshScan_AI/
├── backend/ # FastAPI backend
│ ├── main.py # Application entry point
│ └── api/ # Endpoints (scan, history, vendors)
├── src/ # React frontend source
│ ├── components/ # Reusable UI components
│ ├── pages/ # Features: Scanner, Dashboard, MarketMap
│ ├── lib/ # API client and utilities
│ ├── App.tsx # Main routing
│ └── index.css # Tailwind configuration and design tokens
├── public/ # Static assets (images, app icons)
├── Models/ # Pre-compiled PyTorch models for inference
├── Training_Notebook/ # Jupyter notebooks for model training pipelines
├── package.json # Concurrently handles frontend + backend scripts
└── DOCUMENTATION.md # Comprehensive architecture overview
Make sure you have the following before contributing:
| Requirement | Version | Notes |
|---|---|---|
| Node.js | v18+ | LTS recommended |
| Python | 3.12+ | Required for FastAPI / PyTorch |
| Git | Any recent | For version control |
Set up your local environment using the steps in Getting Started above.
Contributions are welcome! Here's how to get involved:
- Fork the repository
- Create a branch for your feature or fix:
git checkout -b feat/your-feature-name
- Make your changes and commit with a clear message:
git commit -m "feat: add your feature description" - Push to your fork:
git push origin feat/your-feature-name
- Open a Pull Request against
mainand describe what you changed and why.
- Keep PRs focused - one feature or fix per PR.
- Follow the existing code style (TypeScript strict, Tailwind configuration, FastAPI patterns).
- Do not commit local environments or
__pycache__artifacts. - For larger changes, consult
DOCUMENTATION.mdand open an issue first to discuss the approach.
MIT with Commons Clause - free for personal and educational use. Commercial use not permitted without permission. See LICENSE for details.
