Nachet is an open-source, AI-powered image classification system developed by the Canadian Food Inspection Agency (CFIA). It helps inspectors and researchers identify regulated weed seeds using machine learning — but its architecture is domain-agnostic and can be applied to any image classification task. The project ships as two products: Nachet Mini, a lightweight client-side web app, and the Nachet Platform, a full server-backed system for laboratory use.
Client-side, privacy-focused image classification — right in your browser.

DEMO on Cloudflare
DEMO on Github Pages
Nachet Mini runs entirely in your browser. Your images never leave your device; there is no server, no account, and no cloud infrastructure involved. It uses transformers.js to perform ML inference directly on your machine via WebGPU or WASM.
Read the privacy statement | Models on Hugging Face
git clone https://github.com/ai-cfia/nachet.git
cd nachet/nachet-mini
npm install
npm run dev
A full-featured, server-backed system for laboratory and field use.
The Nachet Platform is designed for professional workflows where centralized infrastructure, audit trails, and high-throughput batch processing are needed.
flowchart TB
subgraph mini["Nachet Mini"]
Browser["Browser"]
TJS["transformers.js<br/>(WebGPU / WASM)"]
HF["Hugging Face Hub<br/>(model download)"]
Browser --> TJS
TJS -.->|first load| HF
end
subgraph platform["Nachet Platform"]
Frontend["React Frontend"]
Backend["FastAPI Backend"]
DBOS["DBOS Workflows"]
DB[("PostgreSQL")]
Blob[("Azure Blob<br/>Storage")]
ML["Azure ML<br/>Endpoints"]
Frontend --> Backend
Backend --> DBOS
DBOS --> DB
DBOS --> Blob
DBOS --> ML
end
User((User)) --> Browser
User --> Frontend
Nachet Mini is a standalone static site — no server required. Models are downloaded from Hugging Face on first use and cached in the browser.
Nachet Platform follows a traditional client-server architecture. The React frontend communicates with a FastAPI backend that orchestrates ML inference through durable DBOS workflows, with PostgreSQL for metadata and Azure Blob Storage for images.
| Component | Technology |
|---|---|
| Nachet Mini | React + TypeScript + Vite + MUI + transformers.js |
| Frontend | React + TypeScript + Vite + MUI + Zustand |
| Backend | Python + FastAPI + SQLAlchemy + DBOS |
| Database | PostgreSQL |
| Storage | Azure Blob Storage (or S3-compatible) |
| ML Inference | Azure ML Endpoints (server) / Hugging Face (client) |
| Auth | Azure AD (OAuth 2.0) |
| i18n | English / French |
Visit DEMO on Github Pages — no installation needed.
See DEVELOPER.md for complete setup instructions, including Docker Compose, environment configuration, and database setup.
Quick start:
# Clone the repository
git clone https://github.com/ai-cfia/nachet.git
cd nachet
# Start all services with Docker Compose
docker-compose up --build
Contributions are welcome. Start with the developer guide and the component READMEs:
This project is licensed under the MIT License.
Copyright (c) 2024 AI @ Canadian Food Inspection Agency (CFIA)
cfia.ai-ia.acia@inspection.gc.ca
Nachet est un systeme de classification d'images par intelligence artificielle, a code source ouvert, developpe par l'Agence canadienne d'inspection des aliments (ACIA). Il aide les inspecteurs et les chercheurs a identifier les semences de mauvaises herbes reglementees grace a l'apprentissage automatique. Son architecture est toutefois independante du domaine et peut s'appliquer a toute tache de classification d'images. Le projet se decline en deux produits : Nachet Mini, une application web legere fonctionnant cote client, et la Plateforme Nachet, un systeme complet avec serveur pour une utilisation en laboratoire.
Classification d'images cote client, axee sur la confidentialite — directement dans votre navigateur.

DEMO sur Cloudflare
DEMO sur les pages Github
Nachet Mini fonctionne entierement dans votre navigateur. Vos images ne quittent jamais votre appareil — il n'y a ni serveur, ni compte, ni infrastructure infonuagique. L'application utilise transformers.js pour effectuer l'inference ML directement sur votre machine via WebGPU ou WASM.
Lire la declaration de confidentialite | Modeles sur Hugging Face
git clone https://github.com/ai-cfia/nachet.git
cd nachet/nachet-mini
npm install
npm run dev
Un systeme complet avec serveur pour une utilisation en laboratoire et sur le terrain.
La Plateforme Nachet est concue pour les flux de travail professionnels necessitant une infrastructure centralisee, des pistes d'audit et un traitement par lots a haut debit.
flowchart TB
subgraph mini["Nachet Mini"]
Browser["Navigateur"]
TJS["transformers.js<br/>(WebGPU / WASM)"]
HF["Hugging Face Hub<br/>(telechargement du modele)"]
Browser --> TJS
TJS -.->|premier chargement| HF
end
subgraph platform["Plateforme Nachet"]
Frontend["Interface React"]
Backend["Serveur FastAPI"]
DBOS["Flux DBOS"]
DB[("PostgreSQL")]
Blob[("Azure Blob<br/>Storage")]
ML["Points de terminaison<br/>Azure ML"]
Frontend --> Backend
Backend --> DBOS
DBOS --> DB
DBOS --> Blob
DBOS --> ML
end
User((Utilisateur)) --> Browser
User --> Frontend
Nachet Mini est un site statique autonome — aucun serveur requis. Les modeles sont telecharges depuis Hugging Face lors de la premiere utilisation et mis en cache dans le navigateur.
La Plateforme Nachet suit une architecture client-serveur traditionnelle. L'interface React communique avec un serveur FastAPI qui orchestre l'inference ML a travers des flux de travail DBOS durables, avec PostgreSQL pour les metadonnees et Azure Blob Storage pour les images.
| Composant | Technologie |
|---|---|
| Nachet Mini | React + TypeScript + Vite + MUI + transformers.js |
| Interface | React + TypeScript + Vite + MUI + Zustand |
| Serveur | Python + FastAPI + SQLAlchemy + DBOS |
| Base de donnees | PostgreSQL |
| Stockage | Azure Blob Storage (ou compatible S3) |
| Inference ML | Points de terminaison Azure ML (serveur) / Hugging Face (client) |
| Authentification | Azure AD (OAuth 2.0) |
| i18n | Anglais / Francais |
Visitez DEMO sur les pages Github — aucune installation requise.
Consultez DEVELOPER.md pour les instructions completes de configuration, y compris Docker Compose, la configuration de l'environnement et la mise en place de la base de donnees.
Demarrage rapide :
# Cloner le depot
git clone https://github.com/ai-cfia/nachet.git
cd nachet
# Demarrer tous les services avec Docker Compose
docker-compose up --build
Les contributions sont les bienvenues. Commencez par le guide du developpeur et les README des composants :
Ce projet est distribue sous la licence MIT.
Copyright (c) 2024 AI @ Agence canadienne d'inspection des aliments (ACIA)
Python
63.8%
TypeScript
33.8%
HCL
1.1%
Nachet is an open-source, AI-powered image classification system developed by the Canadian Food Inspection Agency (CFIA). It helps inspectors and researchers identify regulated weed seeds using machine learning — but its architecture is domain-agnostic and can be applied to any image classification task. The project ships as two products: Nachet Mini, a lightweight client-side web app, and the Nachet Platform, a full server-backed system for laboratory use.
Client-side, privacy-focused image classification — right in your browser.

DEMO on Cloudflare
DEMO on Github Pages
Nachet Mini runs entirely in your browser. Your images never leave your device; there is no server, no account, and no cloud infrastructure involved. It uses transformers.js to perform ML inference directly on your machine via WebGPU or WASM.
Read the privacy statement | Models on Hugging Face
git clone https://github.com/ai-cfia/nachet.git
cd nachet/nachet-mini
npm install
npm run dev
A full-featured, server-backed system for laboratory and field use.
The Nachet Platform is designed for professional workflows where centralized infrastructure, audit trails, and high-throughput batch processing are needed.
flowchart TB
subgraph mini["Nachet Mini"]
Browser["Browser"]
TJS["transformers.js<br/>(WebGPU / WASM)"]
HF["Hugging Face Hub<br/>(model download)"]
Browser --> TJS
TJS -.->|first load| HF
end
subgraph platform["Nachet Platform"]
Frontend["React Frontend"]
Backend["FastAPI Backend"]
DBOS["DBOS Workflows"]
DB[("PostgreSQL")]
Blob[("Azure Blob<br/>Storage")]
ML["Azure ML<br/>Endpoints"]
Frontend --> Backend
Backend --> DBOS
DBOS --> DB
DBOS --> Blob
DBOS --> ML
end
User((User)) --> Browser
User --> Frontend
Nachet Mini is a standalone static site — no server required. Models are downloaded from Hugging Face on first use and cached in the browser.
Nachet Platform follows a traditional client-server architecture. The React frontend communicates with a FastAPI backend that orchestrates ML inference through durable DBOS workflows, with PostgreSQL for metadata and Azure Blob Storage for images.
| Component | Technology |
|---|---|
| Nachet Mini | React + TypeScript + Vite + MUI + transformers.js |
| Frontend | React + TypeScript + Vite + MUI + Zustand |
| Backend | Python + FastAPI + SQLAlchemy + DBOS |
| Database | PostgreSQL |
| Storage | Azure Blob Storage (or S3-compatible) |
| ML Inference | Azure ML Endpoints (server) / Hugging Face (client) |
| Auth | Azure AD (OAuth 2.0) |
| i18n | English / French |
Visit DEMO on Github Pages — no installation needed.
See DEVELOPER.md for complete setup instructions, including Docker Compose, environment configuration, and database setup.
Quick start:
# Clone the repository
git clone https://github.com/ai-cfia/nachet.git
cd nachet
# Start all services with Docker Compose
docker-compose up --build
Contributions are welcome. Start with the developer guide and the component READMEs:
This project is licensed under the MIT License.
Copyright (c) 2024 AI @ Canadian Food Inspection Agency (CFIA)
cfia.ai-ia.acia@inspection.gc.ca
Nachet est un systeme de classification d'images par intelligence artificielle, a code source ouvert, developpe par l'Agence canadienne d'inspection des aliments (ACIA). Il aide les inspecteurs et les chercheurs a identifier les semences de mauvaises herbes reglementees grace a l'apprentissage automatique. Son architecture est toutefois independante du domaine et peut s'appliquer a toute tache de classification d'images. Le projet se decline en deux produits : Nachet Mini, une application web legere fonctionnant cote client, et la Plateforme Nachet, un systeme complet avec serveur pour une utilisation en laboratoire.
Classification d'images cote client, axee sur la confidentialite — directement dans votre navigateur.

DEMO sur Cloudflare
DEMO sur les pages Github
Nachet Mini fonctionne entierement dans votre navigateur. Vos images ne quittent jamais votre appareil — il n'y a ni serveur, ni compte, ni infrastructure infonuagique. L'application utilise transformers.js pour effectuer l'inference ML directement sur votre machine via WebGPU ou WASM.
Lire la declaration de confidentialite | Modeles sur Hugging Face
git clone https://github.com/ai-cfia/nachet.git
cd nachet/nachet-mini
npm install
npm run dev
Un systeme complet avec serveur pour une utilisation en laboratoire et sur le terrain.
La Plateforme Nachet est concue pour les flux de travail professionnels necessitant une infrastructure centralisee, des pistes d'audit et un traitement par lots a haut debit.
flowchart TB
subgraph mini["Nachet Mini"]
Browser["Navigateur"]
TJS["transformers.js<br/>(WebGPU / WASM)"]
HF["Hugging Face Hub<br/>(telechargement du modele)"]
Browser --> TJS
TJS -.->|premier chargement| HF
end
subgraph platform["Plateforme Nachet"]
Frontend["Interface React"]
Backend["Serveur FastAPI"]
DBOS["Flux DBOS"]
DB[("PostgreSQL")]
Blob[("Azure Blob<br/>Storage")]
ML["Points de terminaison<br/>Azure ML"]
Frontend --> Backend
Backend --> DBOS
DBOS --> DB
DBOS --> Blob
DBOS --> ML
end
User((Utilisateur)) --> Browser
User --> Frontend
Nachet Mini est un site statique autonome — aucun serveur requis. Les modeles sont telecharges depuis Hugging Face lors de la premiere utilisation et mis en cache dans le navigateur.
La Plateforme Nachet suit une architecture client-serveur traditionnelle. L'interface React communique avec un serveur FastAPI qui orchestre l'inference ML a travers des flux de travail DBOS durables, avec PostgreSQL pour les metadonnees et Azure Blob Storage pour les images.
| Composant | Technologie |
|---|---|
| Nachet Mini | React + TypeScript + Vite + MUI + transformers.js |
| Interface | React + TypeScript + Vite + MUI + Zustand |
| Serveur | Python + FastAPI + SQLAlchemy + DBOS |
| Base de donnees | PostgreSQL |
| Stockage | Azure Blob Storage (ou compatible S3) |
| Inference ML | Points de terminaison Azure ML (serveur) / Hugging Face (client) |
| Authentification | Azure AD (OAuth 2.0) |
| i18n | Anglais / Francais |
Visitez DEMO sur les pages Github — aucune installation requise.
Consultez DEVELOPER.md pour les instructions completes de configuration, y compris Docker Compose, la configuration de l'environnement et la mise en place de la base de donnees.
Demarrage rapide :
# Cloner le depot
git clone https://github.com/ai-cfia/nachet.git
cd nachet
# Demarrer tous les services avec Docker Compose
docker-compose up --build
Les contributions sont les bienvenues. Commencez par le guide du developpeur et les README des composants :
Ce projet est distribue sous la licence MIT.
Copyright (c) 2024 AI @ Agence canadienne d'inspection des aliments (ACIA)
Python
63.8%
TypeScript
33.8%
HCL
1.1%