Ein Mülleimer, der wirklich versteht, was hineingeworfen wird; im Alleingang als Schulprojekt gebaut, jetzt für alle zum Ausprobieren bereit.
A trash bin that actually understands what's thrown into it - built entirely solo as a school project, now ready for everyone to try.
„Ich wollte nicht, dass Leute lernen, wie man Müll trennt. Ich wollte, dass sie es nicht mehr müssen." "I didn't want people to learn how to sort their trash. I wanted them to not have to."
💡 Kurz gesagt / In short: Dieses Repository enthält SortiMate Lite - eine hardwarefreie Version des Original-Projekts, die auf jedem Laptop mit Webcam läuft. This repository holds SortiMate Lite - a hardware-free version of the original project that runs on any laptop with a webcam.
📖 Inhaltsverzeichnis
SortiMate hat als Projekt im Seminarkurs Technik / Schüler-Ingenieur-Akademie (SIA) am Max-Planck-Gymnasium Heidenheim begonnen (Jahrgang 2024/25). Was als Schulprojekt gedacht war, ist irgendwann zu einer kleinen Passion geworden, die ich weit über den Unterricht hinaus weiterverfolgt habe - eigenes Konzept, eigenes Gehäuse, eigener Code, mehrere komplette Neuanläufe, ein Wettbewerbsauftritt und am Ende ein Forschungspraktikum, das ich so nicht kommen sehen habe.
Ich bin Justin, und SortiMate ist komplett allein entstanden - von der ersten Skizze auf Papier bis zum letzten Zeile Code. Kein Team, keine Arbeitsteilung, einfach ich und ziemlich viele Abende mit Lötkolben, Fehlermeldungen und einem Gehäuse, das erst in der dritten Version so aussah, wie ich es mir vorgestellt hatte.
Was mir im Rückblick am meisten gebracht hat, ist gar nicht mal die Technik selbst, sondern das drumherum: ein eigenes Projekt drei Tage lang vor einer Fachjury zu verteidigen, zu merken, wie viele Sackgassen ein Gehäuse durchläuft, bevor es passt, und einfach weiterzumachen, obwohl der Motor zum vierten Mal in die falsche Richtung gedreht hat. Jugend forscht war dabei mehr als nur ein Wettbewerb - es hat mir gezeigt, dass Neugier tatsächlich irgendwohin führt, wenn man ihr genug Zeit gibt.
Weitere Einblicke in die Entwicklungsgeschichte oder Möglichkeiten zum Austausch finden sich unter Kontakt.
| Ergebnis | Wettbewerb |
|---|---|
| 🥇 1. Platz Technik | Regionalwettbewerb Ostwürttemberg, Jugend forscht (Hochschule Aalen) |
| 🏅 Sonderpreis | Elektronik-, Energie- oder Informationstechnik (VDE) |
| ➡️ Qualifikation | Landeswettbewerb Baden-Württemberg |
| 🏅 Sonderpreis | Künstliche Intelligenz (IU Internationale Hochschule) |
| 🎓 Forschungspraktikum „Kollaborierende Roboter" | Hochschule Heilbronn |
Beide Wettbewerbe hat meine Schule redaktionell begleitet:
- 📰 Jugend forscht: Starke Erfolge des MPG beim Regionalwettbewerb in Aalen
- 📰 Forschungspraktikum für Justin Faltus beim Landeswettbewerb Jugend forscht
Deutschland gilt als Recycling-Vorbild, doch in den Sortieranlagen sieht die Realität anders aus. Bis zu 30 % des Inhalts im Gelben Sack sind Fehlwürfe, die dort nicht hingehören. Von allen Kunststoffverpackungen in Deutschland wurde 2023 nur etwas mehr als die Hälfte (52,3 %) tatsächlich recycelt, der Rest wurde verbrannt.
Die Gründe sind menschlich: Wishcycling (der gutgemeinte, aber falsche Glaube, dass etwas recycelbar ist), zu komplexe und regional unterschiedliche Regeln, und schlicht Bequemlichkeit. Aufklärung allein reicht nicht, es braucht eine Lösung, die die Komplexität für den Menschen entfernt, statt sie ihm zu erklären.
SortiMate ist ein intelligenter Mülleimer, der Abfall per KI-gestützter Bildanalyse automatisch der richtigen Kategorie zuordnet, vollautomatisch, ohne dass der Nutzer etwas über Mülltrennung wissen muss.
flowchart LR
A["📷 Kamera erfasst Objekt"] --> B["🖼️ Bild an Gemini API"]
B --> C{"🤖 KI-Klassifizierung"}
C --> D["🗑️ Kategorie bestimmt"]
D --> E["⚙️ Original: Schrittmotor dreht Fach + Klappe öffnet sich"]
D --> F["💻 Lite: UI zeigt Ergebnis + Füllstand wird simuliert"]
Kamera erkennt das Objekt, ein Sprachmodell (Gemini) klassifiziert es mit echtem Verständnis statt nur Mustererkennung, ein Schrittmotor dreht das passende Abteil unter die Einwurfklappe, die Klappe öffnet sich.
| 🏗️ Original SortiMate | 💻 SortiMate Lite (dieses Repo) | |
|---|---|---|
| Plattform | Raspberry Pi 5 | Windows / macOS / Linux |
| Kamera | Pi-Kamera-Modul | Laptop- oder USB-Webcam |
| Sortierung | Schrittmotor + drehbares Fach | Rein visuell in der UI |
| Füllstand | 7 physische Sensoren | Simuliert (+10 % je Klassifizierung) |
| Auslösung | Automatische Lichtschranke | Klick-Button |
| Gehäuse | Eigenbau aus Holz | Nicht nötig - läuft auf jedem PC |
| KI-Klassifizierung | Google Gemini API | Google Gemini API (identisch) |
| Oberfläche | Tkinter (Ring-Kacheln) | Tkinter - 1:1 dieselbe Optik |
| Zweck | Vollwertiger, ausstellungsreifer Prototyp | Zum direkten Selbst-Ausprobieren |
- 🌐 sortimate-ai.vercel.app - die Projektwebsite mit allen Infos, Konzept und Hintergrund
- 📊 sortimate-ai.vercel.app/showcase - eine öffentlich gehostete Simulation der Weboberfläche, die beim echten SortiMate normalerweise nur lokal im Heimnetzwerk erreichbar ist (Füllstände, Kategorien, Statistiken). Genaueres dazu in der Seminararbeit und auf den Postern oben.
Der echte SortiMate läuft auf einem Raspberry Pi 5 mit Kamera, Schrittmotor, sieben Füllstandsensoren und einem selbstgebauten Holzgehäuse - Nachbau ist entsprechend aufwändig. Damit trotzdem jede und jeder die eigentliche Kernidee ausprobieren kann, habe ich mit Unterstützung von Claude (Anthropic) bei der Umsetzung den originalen ~7.500-Zeilen-Hardware-Code in eine schlanke Lite-Version überführt, die ganz ohne die Hardware läuft, gleiche Optik, gleiche KI, aber startklar auf jedem Rechner:
📷 Laptop- oder USB-Kamera statt Pi-Kamera + Sensorik • 🖥️ läuft auf Windows, Mac und Linux • 🎨 originalgetreue Tkinter-Oberfläche (gleiche Ring-Kacheln, gleiches Menü, gleiche Optik)
Kein Pi nötig, kein Lötkolben, kein Gehäusebau - nur Python und eine Webcam.
- 🤖 KI-Klassifizierung über die Google Gemini API (eigener kostenloser API Key nötig)
- 📷 Läuft mit jeder USB-Webcam oder eingebauten Laptop-Kamera
- 🎨 Ring-Kacheln mit farbcodiertem Füllstand, Slide-in-Einstellungsmenü, zufällige Sprüche bei jedem Start
- 🌙 Dark/Light Mode
- 🏷️ Eigene Kategorien definierbar (Name + Farben); direkt über die Einstellungen, landen automatisch im KI-Prompt
- 🌍 Deutsch/Englisch umschaltbar
- 🖋️ Original-Schriftart „Dongle" wird automatisch geladen
- Python 3.11 oder neuer
- Eine Webcam (eingebaut oder USB)
- Ein kostenloser Gemini API Key: aistudio.google.com
🪟 Windows
git clone https://github.com/WiteWxlf/sortimate-lite.git
cd sortimate-lite
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
python app.py🍎 macOS
Tkinter-fähiges Python installieren (falls noch nicht vorhanden):
brew install python-tk@3.12Dann:
git clone https://github.com/WiteWxlf/sortimate-lite.git
cd sortimate-lite
python3.12 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python app.pyBeim ersten Start fragt macOS nach Kamera-Berechtigung - Erlauben anklicken. Falls verpasst: Systemeinstellungen → Datenschutz & Sicherheit → Kamera → Terminal aktivieren.
🐧 Linux
sudo apt install python3-tk python3-venv
git clone https://github.com/WiteWxlf/sortimate-lite.git
cd sortimate-lite
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python app.pyBeim allerersten Start öffnet sich automatisch das Einstellungsmenü zur Eingabe des Gemini API Keys. Danach: Kamera vor ein Objekt halten, auf „Zum Scannen hier tippen" klicken, fertig.
ℹ️ Die verwendeten Icons (Lucide) und die Schriftart
(Dongle) stehen unter eigenen
Lizenzen - Details in THIRD_PARTY_NOTICES.md.
Bekannte Einschränkungen der Lite-Version:
- Keine Offline-Funktion - ohne Internet keine Klassifizierung
- Kein Turntable, keine Servo-Klappe, keine echten Sensoren - Füllstand wird rein simuliert (+10 % pro Klassifizierung, Wrap bei 100 %)
- Auslösung nur per Klick statt automatischer Lichtschranke
Sowohl das Gehäuse als auch der Code haben mehrere Iterationen durchlaufen, von der ersten runden Gehäuseidee über die Hexagon-Variante bis zur finalen viereckigen Form (siehe Seminararbeit, Kapitel 4.1).
Wer sich für den kompletten Entwicklungsprozess interessiert:
docs/Seminararbeit.pdf dokumentiert den gesamten Weg
inklusive aller Sackgassen und Workarounds.
Meine Schule hat über beide Wettbewerbsteilnahmen berichtet, den Regionalerfolg in Aalen und im Anschluss die Auswahl fürs Forschungspraktikum nach dem Landeswettbewerb. Beide Artikel oben unter Erfolge auf einen Blick verlinkt.
Betreut wurde ich während der Entstehung von Herrn Schinagel im Rahmen der Schüler-Ingenieur-Akademie (SIA), Max-Planck-Gymnasium Heidenheim.
- 🌐 Website: sortimate-ai.vercel.app
- 💼 LinkedIn: justinnotfa
- ✉️ Email: sortimate@web.de
- 🐙 GitHub: WiteWxlf
📖 Table of Contents
SortiMate started as a project in the Technology Seminar Course / Student Engineering Academy (SIA) at Max-Planck-Gymnasium Heidenheim (class of 2024/25). What began as a school assignment slowly turned into something closer to a personal passion project that I kept pushing well beyond the classroom, my own concept, my own enclosure, my own code, several complete restarts, a competition run, and eventually a research internship I didn't see coming.
I'm Justin, and SortiMate was built entirely on my own - from the first sketch on paper to the last line of code. No team, no division of labor, just me and a good number of evenings with a soldering iron, error messages, and an enclosure that only looked right by its third version.
Looking back, what I got out of this isn't really the technology itself - it's everything around it: defending my own project in front of an expert jury over three days, learning how many dead ends an enclosure goes through before it fits, and simply continuing even after the motor turned the wrong way for the fourth time. Jugend forscht turned out to be more than a competition - it showed me that curiosity actually leads somewhere, if you give it enough time.
If you're curious how that felt or just want to talk about the project, feel free to reach out - see Contact below.
| Result | Competition |
|---|---|
| 🥇 1st Place, Technology | Regional Competition Ostwürttemberg, Jugend forscht (Aalen University) |
| 🏅 Special Award | Electronics, Energy, or Information Technology (VDE) |
| ➡️ Qualification | State Competition of Baden-Württemberg |
| 🏅 Special Award | Artificial Intelligence (IU International University) |
| 🎓 Research internship on collaborative robots | Heilbronn University |
My school covered both competitions (German-language articles):
- 📰 Jugend forscht: Strong results for MPG at the regional competition in Aalen
- 📰 Research internship for Justin Faltus at the Jugend forscht state competition
Germany is seen as a recycling role model, but the reality inside sorting facilities tells a different story. Up to 30% of the contents of Germany's "yellow bag" recycling stream are items that don't belong there. Of all plastic packaging in Germany, only a bit more than half (52.3%) was actually recycled in 2023 - the rest was incinerated.
The causes are human ones: wishcycling (the well-meaning but mistaken belief that something is recyclable), overly complex and regionally inconsistent rules, and plain convenience. Education alone isn't enough - what's needed is a solution that removes the complexity for people instead of trying to explain it to them.
SortiMate is a smart waste bin that automatically sorts trash into the right category using AI-powered image analysis - fully automatic, with zero waste-sorting knowledge required from the user.
flowchart LR
A["📷 Camera captures object"] --> B["🖼️ Image sent to Gemini API"]
B --> C{"🤖 AI classification"}
C --> D["🗑️ Category determined"]
D --> E["⚙️ Original: stepper motor rotates compartment + door opens"]
D --> F["💻 Lite: UI shows result + fill level is simulated"]
A camera captures the object, a language model (Gemini) classifies it with genuine understanding rather than simple pattern matching, a stepper motor rotates the correct compartment under the trap door, and the door opens.
| 🏗️ Original SortiMate | 💻 SortiMate Lite (this repo) | |
|---|---|---|
| Platform | Raspberry Pi 5 | Windows / macOS / Linux |
| Camera | Pi camera module | Laptop or USB webcam |
| Sorting | Stepper motor + rotating compartment | Purely visual in the UI |
| Fill level | 7 physical sensors | Simulated (+10% per classification) |
| Trigger | Automatic light barrier | Click button |
| Enclosure | Custom-built wooden housing | Not needed - runs on any PC |
| AI classification | Google Gemini API | Google Gemini API (identical) |
| Interface | Tkinter (ring tiles) | Tkinter - 1:1 the same look |
| Purpose | Full, exhibition-ready prototype | For hands-on trying it yourself |
- 🌐 sortimate-ai.vercel.app - the project website with all the details, concept, and background
- 📊 sortimate-ai.vercel.app/showcase - a publicly hosted simulation of the web dashboard that, on the real device, is normally only reachable on the local home network (fill levels, categories, statistics). More detail in the thesis paper and posters above.
The real SortiMate runs on a Raspberry Pi 5 with a camera, stepper motor, seven fill sensors, and a custom-built wooden enclosure - rebuilding it is a serious undertaking. So that anyone can try the core idea, I worked with Claude (Anthropic) to turn the original ~7,500-line hardware codebase into a lean Lite Edition that runs entirely without the hardware, same look, same AI, but ready to run on any machine:
📷 Laptop or USB camera instead of the Pi camera + sensors • 🖥️ runs on Windows, Mac, and Linux • 🎨 faithful Tkinter interface (same ring tiles, same menu, same look)
No Pi needed, no soldering, no enclosure to build - just Python and a webcam.
- 🤖 AI classification via the Google Gemini API (bring your own free API key)
- 📷 Works with any USB webcam or built-in laptop camera
- 🎨 Ring tiles with color-coded fill level, slide-in settings panel, random sayings on every launch
- 🌙 Dark/Light mode
- 🏷️ Define your own categories (name + colors) right from Settings - automatically feeds into the AI prompt
- 🌍 German/English toggle
- 🖋️ Original "Dongle" font loads automatically
- Python 3.11 or newer
- A webcam (built-in or USB)
- A free Gemini API key: aistudio.google.com
🪟 Windows
git clone https://github.com/WiteWxlf/sortimate-lite.git
cd sortimate-lite
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
python app.py🍎 macOS
Install Tkinter-enabled Python first (if not already present):
brew install python-tk@3.12Then:
git clone https://github.com/WiteWxlf/sortimate-lite.git
cd sortimate-lite
python3.12 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python app.pymacOS will ask for camera permission on first launch - click Allow. If missed: System Settings → Privacy & Security → Camera → enable your Terminal.
🐧 Linux
sudo apt install python3-tk python3-venv
git clone https://github.com/WiteWxlf/sortimate-lite.git
cd sortimate-lite
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python app.pyOn first launch, the Settings panel opens automatically to enter your Gemini API key. After that: point the camera at an object, click "Tap here to scan", done.
ℹ️ The icons used (Lucide) and the font
(Dongle) are under their own
licenses - see THIRD_PARTY_NOTICES.md for details.
Known limitations (Lite Edition):
- No offline mode - classification requires an internet connection
- No turntable, no servo lid, no real sensors - fill level is purely simulated (+10% per classification, wraps at 100%)
- Manual click trigger only, no automatic light-barrier detection
Both the enclosure and the codebase went through several iterations - from the first round-enclosure idea, through a hexagonal variant, to the final square design (see thesis paper, section 4.1).
For the full development story including every dead end and workaround:
docs/Seminararbeit.pdf (German).
My school reported on both competition rounds, the regional win in Aalen, and later my selection for the research internship after the state competition. Both articles are linked above under Results at a glance.
I was supervised during this project by Herr Schinagel as part of the Student Engineering Academy (SIA), Max-Planck-Gymnasium Heidenheim.
- 🌐 Website: sortimate-ai.vercel.app
- 💼 LinkedIn: justinnotfa
- ✉️ Email: sortimate@web.de
- 🐙 GitHub: WiteWxlf
⭐ If this resonated with you, a star means a lot.











