Skilltix – Multi-Vendor-Marktplatz mit agentischem KI-Kursberater
Ein Marktplatz, der Kurse versteht. Skilltix ist ein Multi-Vendor-Marktplatz für Freizeit- und Weiterbildungskurse – vom Tauchschein bis zum Survival-Training. Das Besondere: ein agentischer KI-Kursberater, der per Tool Calling die echte Kursdatenbank durchsucht, passende Angebote empfiehlt und Filter selbst setzt. Ich habe die Plattform vollständig konzipiert und als Full-Stack-Entwickler umgesetzt.
Worum es geht
Für Freizeit- und Weiterbildungskurse fehlte bislang ein passender Marktplatz. Erlebnis-Plattformen wie GetYourGuide oder Jochen Schweizer verkaufen einzelne Erlebnisse – einen Sprung, ein Dinner. Skilltix setzt bewusst woanders an: Es geht um den Aufbau echter Fähigkeiten in mehrteiligen Kursen, von Tauchen und Segeln über Gleitschirmfliegen bis Schmieden und Survival.
Das stellt eigene Anforderungen: viele Anbieter mit eigenem Katalog, wiederkehrende Termine und Serien, mehrere Standorte je Kurs, gestaffelte Preise, Wartelisten und ein vollständiger Buchungs-Flow. Vor allem aber wollte ich die Kurssuche neu denken – nicht als Filterformular, sondern als Gespräch mit einem Berater, der den Katalog wirklich kennt.
Meine Rolle
Ich habe Skilltix vollständig konzipiert und als Full-Stack-Entwickler umgesetzt – Produktidee, Datenmodell, Backend-API, Frontend und die komplette KI-Schicht lagen in einer Hand. Dieser durchgehende Blick zahlt sich gerade bei der KI aus: Der Berater ist kein aufgesetztes Chat-Widget, sondern tief mit Suche, Katalog und Buchungslogik verzahnt – weil dieselbe Person das Datenmodell und die KI-Werkzeuge entworfen hat.
ArchitekturDie Plattform im Überblick
Skilltix ist als sauber getrennte Multi-Service-Architektur gebaut – jede Komponente mit klarer Verantwortung:
- Backend (Laravel / PHP, MySQL): RESTful-API als Herzstück – Kurse, Termine, Buchungen, Anbieter und die KI-Services.
- Suche (Meilisearch): Volltext- und Geo-Suche, indexiert auf Standort-Ebene – so funktioniert die Umkreissuche auch für Kurse mit mehreren Orten.
- Frontend (Nuxt 3 / Vue.js, Tailwind, PrimeVue): Kundenseite, Checkout und das umfangreiche Anbieter-Dashboard – serverseitig gerendert für gute Ladezeiten und SEO.
- KI-Schicht & Scraper-Service: ein abstrahierter LLM-Layer für die Berater und KI-Werkzeuge sowie ein eigener Dienst zum Import bestehender Kursseiten – containerisiert im Docker-Betrieb.
Der KI-Kursberater: ein Agent mit Werkzeugen
Klassische KI-Chats raten gern – sie erfinden Kurse, die es nicht gibt, oder nennen Preise aus dem Nichts. Der Skilltix-Berater ist anders gebaut: Er ist ein agentischer Assistent, der nicht aus dem Gedächtnis antwortet, sondern bei jeder Anfrage die echte Plattform befragt.
Tool Calling statt Raten
Das Sprachmodell bekommt eine Reihe klar definierter Werkzeuge (Tools) angeboten und entscheidet selbst, welches es mit welchen Parametern aufruft. In einer Schleife arbeitet es sich so an die Antwort heran:
- Kurse suchen – nach Kategorie, Ort, Preis und Zeitraum, direkt gegen die Meilisearch-Suche.
- Termine abrufen – konkrete verfügbare Daten zu einem Kurs.
- Kursdetails & Anbieterprofile laden – Beschreibung, Ablauf, Voraussetzungen, Bewertungen.
- FAQ nachschlagen – damit Plattform-Fragen mit den echten Hilfe-Inhalten beantwortet werden, nicht mit erfundenen.
Das Modell ruft ein Tool auf, bekommt die echten Ergebnisse zurück, kann auf dieser Basis ein weiteres Tool aufrufen und formuliert erst dann seine Antwort. Dadurch sind alle Empfehlungen an reale, aktuelle Kursdaten gebunden – derselbe Effekt wie bei RAG, nur dass das Modell die Recherche aktiv und schrittweise selbst steuert, statt vorab Dokumente vorgesetzt zu bekommen.
Die Schritte 02–04 wiederholen sich, bis das Modell genug Fakten für eine belastbare Antwort gesammelt hat.
Kontextbewusst statt blank
Der Berater weiß, wo der Nutzer gerade steht: auf einer Kursdetailseite, in den Suchergebnissen oder am Anfang der Suche. Er kennt zuletzt angesehene Kurse und kann seine Empfehlungen als klickbare Karten zurückgeben – inklusive Button, um die passenden Suchfilter direkt zu übernehmen. So wird aus der Beratung nahtlos die echte Suche, ohne dass der Nutzer Kriterien neu eintippt.
Antworten im Stream
Damit sich das Gespräch flüssig anfühlt, werden die Antworten per Server-Sent Events gestreamt und Wort für Wort aufgebaut. Strukturierte Extras wie Kursempfehlungen oder Filter werden sauber vom Fließtext getrennt übertragen, und das Frontend gibt den Text in ruhigem, gleichmäßigem Tempo aus – statt in ruckartigen Schüben, wie sie das Netzwerk liefert.
Zwei Berater, zwei Welten
Neben dem Kundenberater gibt es einen eigenen Business-Berater für Anbieter. Er greift über andere Werkzeuge auf Buchungen, anstehende Termine, Auszahlungs-Überblick, Statistiken und Anfragen zu und beantwortet Fragen zum eigenen Geschäft. Bewusst datensparsam: Die Anbieter-Werkzeuge geben dem Modell keine Klarnamen oder Kontaktdaten von Kunden – Datenschutz ist hier in die Tool-Ebene eingebaut, nicht erst in den Prompt.
KI für AnbieterKurse erstellen – mit KI als Co-Pilot
Die KI hilft nicht nur Lernenden, sondern auch der Anbieterseite:
- KI-Schreibassistent: verbessert Beschreibungen, formuliert Kurztexte und generiert Listen wie Voraussetzungen oder FAQ – kontextbezogen pro Formularfeld im Kurs-Editor.
- Automatischer Kurs-Import: Anbieter geben die URL einer bestehenden Kursseite an; ein eigener Scraper-Service extrahiert daraus strukturiert Beschreibung, Standorte, Preise, Tagesablauf und FAQ und füllt den Entwurf vor.
Vom Katalog bis zur Buchung
Rund um die KI steht eine vollständige Marktplatz-Plattform:
- Anbieter-Dashboard: Kurse, Galerien, Standorte, Preislisten, Termine und Serien, Buchungen, Anfragen und Abrechnungen – mit geführtem Onboarding und gestaffelten Abo-Plänen (Basic, Pro, Premium).
- Suche & Discovery: Volltext- und Umkreissuche, ein geführter Such-Assistent sowie Empfehlungen ähnlicher Kurse.
- Buchung & Checkout: mehrstufiger Buchungs-Flow inkl. Gruppenpreisen, Gutscheinen und Wartelisten.
- Einbettbares Buchungs-Widget: Kurs-Karten und Termin-Widget lassen sich per Snippet in fremde Websites einbinden.
Architekturentscheidungen & Trade-offs
Jede Entscheidung hat einen Preis. Ein paar bewusste Abwägungen, die das Projekt geprägt haben:
- Tool Calling statt vorab-RAG: Der Preis sind mehrere Modell-Durchläufe pro Antwort – also mehr Latenz. Dafür bleiben die Antworten immer am aktuellen Katalog, und es gibt keinen separaten Vektor-Index zu pflegen. Den Latenz-Nachteil fange ich mit einem begrenzten Tool-Loop und Streaming ab, sodass die Antwort sofort zu „tippen" beginnt.
- Abstrahierter Provider-Layer statt direkter SDK-Aufrufe: etwas mehr Code, aber Modell und Anbieter bleiben austauschbar – wichtig in einem Feld, in dem sich Modelle im Quartalstakt ändern.
- Datenschutz auf der Tool-Ebene, nicht nur im Prompt: Die Anbieter-Werkzeuge geben dem Modell schon technisch keine Kundenklarnamen heraus. Das ist robuster als die Bitte „nenne keine Namen" im Systemprompt.
- Zwei getrennte Berater statt eines Allrounders: Kunden- und Anbieter-Berater haben eigene Tools, Prompts und Regeln. Das hält jeden Prompt fokussiert und verhindert, dass Geschäftsdaten in den Kunden-Chat gelangen.
- Suche über die Standort-Ebene indexiert: Kurse landen nicht direkt, sondern über ihre Standorte im Suchindex – nur so funktioniert die Umkreissuche sauber bei Kursen mit mehreren Orten.
Technischer Stack
- Backend: Laravel (PHP), MySQL, RESTful-API, Meilisearch.
- Frontend: Nuxt 3 (Vue.js), Tailwind CSS, PrimeVue.
- KI: Large Language Model (Google Gemini) über einen abstrahierten Provider-Layer, agentisches Tool Calling, Antwort-Streaming via SSE.
- Betrieb: Docker-Container, eigener Scraper-Microservice.
Ergebnis
Aus der Idee ist eine vollständige, live betriebene Marktplatz-Plattform geworden – mit einem KI-Berater, der nicht nur plausibel klingt, sondern an echte Daten gebunden bleibt. Das Projekt zeigt, wie ich ein komplexes Produkt von der Konzeption bis zum produktionsreifen Betrieb durchziehe und dabei LLMs verlässlich in eine reale Anwendung integriere – mit Tool Calling, Streaming und sauberer Trennung von Modell, Werkzeugen und Daten.
Für Kundenprojekte nehme ich daraus drei Dinge mit: Ein LLM wird erst dann verlässlich, wenn es an echte Daten geerdet ist – per Tools oder RAG. Die UX entscheidet mit – Streaming macht aus einer „lahmen" KI eine, die sich schnell anfühlt. Und Datenschutz gehört strukturell verankert, nicht in eine Prompt-Bitte.
Mehr zu den eingesetzten Technologien: Laravel-Freelancer in Augsburg und KI-Entwicklung.