♻️ L’application intelligente qui t’aide à trier tes déchets… et à devenir une légende du recyclage.
SmartSort – MakeCode est une application web complète (front-end, back-end et IA) conçue pour aider les utilisateurs à trier leurs déchets grâce à de l’intelligence artificielle.
Elle accepte une description textuelle ou une image, et prédit automatiquement la catégorie de recyclage :
plastique, métal, verre, papier, organique ou autre.
En bonus :
- un système de gamification (score + badges)
- un leaderboard interactif
- un mode sombre animé
- un design moderne et smooth
- Décris un objet (ex: “bouteille en plastique”)
- Ou upload une image
➡️ L’IA prédit sa catégorie et renvoie un niveau de confiance.
SmartSort utilise :
- OpenAI pour comprendre le texte (NLP)
- un modèle léger (Mobilenet) pour les images (ou fallback texte)
À chaque classification :
- ton score augmente
- ton total aussi
- des badges se débloquent automatiquement :
- 🟢 Débutant : 5+ classifications
- 🔵 Intermédiaire : 20+
- 🔥 Expert : 50+
Chaque utilisateur peut entrer son nom → ses stats s’ajoutent automatiquement dans le classement.
SmartSort garde trace des 20 dernières prédictions pour chaque utilisateur distinct.
- UI clean, responsive
- Dark mode animé
- Effets glassmorphism
- Expérience utilisateur fluide & intuitive
📁 DefisPolyAI/
│
├── 📁 backend/
│ ├── main.py → API FastAPI (routes)
│ ├── ml_text.py → Classification textuelle (OpenAI)
│ ├── ml_image.py → Classification d’images
│ ├── db.py → Base de données SQLite + gamification + leaderboard
│ └── smartsort.db → Base de données (auto-générée au démarrage)
│
└── 📁 frontend/
├── src/
│ ├── App.jsx → Interface utilisateur (React)
│ ├── App.css → Style et animations
│ └── main.jsx → Point d'entrée React
└── index.html
Dans un terminal :
cd backend
python -m venv venv
venv\Scripts\activate # Windows
pip install -r requirements.txt
set OPENAI_API_KEY=ta_cle
uvicorn main:app --reload --port 8000Ton API roule ici :
👉 http://localhost:8000
👉 Doc auto : http://localhost:8000/docs
Dans un deuxième terminal :
cd frontend
npm install
npm run devSite web :
👉 http://localhost:5173
Ton score sera enregistré dans le leaderboard.
Exemples :
- "bouteille en plastique"
- "canette de métal"
- "coquille de banane"
L’IA renvoie :
- une catégorie
- un pourcentage de confiance
Chaque classification =
- +1 score
- +1 total
Débloque des badges automatiques 🎖️
Tu verras les dernières prédictions associées à ton nom d’utilisateur.
Monte dans le top.
Dominne le tri intelligent.
Règne sur MakeCode.
Utilisation de GPT-4.1-mini :
✔ Très bon en compréhension
✔ Idéal pour classification contextuelle
✔ Ultra rapide
✔ Peu coûteux
Un modèle léger type Mobilenet (ou API OpenAI Vision pour fallback) :
✔ Rapide
✔ Suffisant pour déchets courants
✔ Deployment-friendly
Parce qu’ils offrent :
- un bon compromis performance / coût / déploiement
- une intégration simple dans FastAPI
- la stabilité nécessaire pour un hackathon / projet étudiant
docker-compose up --buildEt ça roule. 🐳🔥
Projet réalisé dans le cadre du challenge PolyScav – Polytechnique Montréal.