Eine Web-App für Flohmarkttermine mit nativer KI-Integration. Sprachmodelle extrahieren und aggregieren Daten aus heterogenen Quellen. Ihre Extraktionslogik bleibt auch bei Layoutänderungen stabil. LLM-basierte Agenten validieren Outlier und fehlerhafte Einträge, nehmen Anpassungen vor und prüfen Einträge auf Plausibilität.
Veranstalter-Webseite, Stadt-Portal oder Vereinskalender. Jede Quelle hat ihren eigenen Aufbau und ihre eigenen Schreibweisen für Datum und Adresse.
Ein Sprachmodell liest die Seite und gibt strukturierte Einträge zurück: Titel, Datum, Adresse und Quelle. Ändert sich das Layout einer Quelle leicht, kommt der Scrape meist trotzdem durch. Größere Brüche fängt der Review-Schritt ab.
LLM OpenRouterAdressen werden über die offene OpenStreetMap-Datenbank zu Koordinaten aufgelöst. Findet sich eine Adresse nicht oder nur unscharf wieder, geht der Eintrag entsprechend markiert ins Review, statt blind auf der Karte zu landen.
Jeder Eintrag wird in Kategorien sortiert: vollständig, Adresse zu unspezifisch, ohne Koordinaten, außerhalb der Region, vermutliches Duplikat oder vom Anbieter zurückgezogen. Nur die vollständigen Einträge landen auf der Karte. Für die problematischen Fälle schlägt ein Agent eine konkrete Korrektur oder Löschung vor. Jede Schreib-Aktion wird im Admin-Bereich manuell bestätigt.
AI Agents AgnoLive, sortiert nach Datum, filterbar nach Region.
Jeder LLM-Aufruf wird mitsamt Input, Output, Latenz und Token-Verbrauch detailliert protokolliert. Dies ermöglicht eine lückenlose Traceability: Anomalien in der App oder auf der Karte lassen sich präzise auf die zugrunde liegenden Prompts und Modell-Antworten zurückführen.
→ LangfuseDie Modell-Logik ist von der Applikation entkoppelt und liegt in einer dedizierten Konfigurationsschicht. Ein Wechsel auf performantere oder kosteneffizientere Modelle erfolgt dort, ohne Anpassungen am Core-System.
→ OpenRouterWiederkehrende Prozesse wie Data-Ingestion oder Geocoding sind in eine externe Automations-Layer ausgelagert. Diese kommuniziert zustandslos über die öffentliche API mit der App, was den Anwendungscode schlank hält und die Skalierbarkeit der Hintergrundprozesse erhöht.
→ Coolify Scheduled TasksSämtliche manuellen Korrekturen und Löschvorgänge werden als Versionen mit Begründung und Diff-Historie (Vorher-/Nachher-Vergleich) gespeichert. Durch diesen Audit-Trail lassen sich Datensätze jederzeit konsistent und unter Beibehaltung ihrer ursprünglichen Identität (IDs) wiederherstellen.
→ PostgresPython FastAPI Jinja2 Postgres Leaflet OpenStreetMap Coolify OpenRouter Agno Langfuse
Design im NeoBrutalism-Stil, inspiriert von retroui.dev