Alle Projekte

Job Boards GTM Intelligence-Plattform

Eine skalierbare Go-to-Market-Intelligence-Pipeline, die Stellenanzeigen von mehreren Jobbörsen sammelt und in einen semantisch durchsuchbaren Datensatz verwandelt. Die zentrale Erkenntnis: Listenseiten scrapen (~20 Jobs pro Seite) statt einzelner Stellenseiten - das reduziert ~50.000 Anfragen auf ~2.500, während die meisten Metadaten weiterhin aus den Job-Karten extrahiert werden.

Wie es funktioniert

Die Daten durchlaufen einen einzigen, klar definierten Pfad:

Scraper → RabbitMQ → KI-Anreicherung → PostgreSQL (pgvector)

Temporal orchestriert die Workflows, und Redis liegt als Caching-Schicht vor den teuren Operationen.

Scrapen, ohne blockiert zu werden

Anzeigen werden mit Puppeteer über einen Headless-Browser erfasst. Die Scraper bleiben unauffällig durch Rate Limiting und Anfrageverzögerungen, Rotation der User-Agents und Headless-Browser-Simulation - die Last wird über die Börsen verteilt, sodass keine einzelne Quelle überlastet wird.

KI-Anreicherung

Jeder Job wird angereichert und für die semantische Suche eingebettet:

  • Embeddings nutzen sentence-transformers/all-MiniLM-L6-v2 (384 Dimensionen, ~40ms auf CPU), gespeichert in PostgreSQL über die pgvector-Erweiterung.
  • Text-to-SQL-Generierung ermöglicht Abfragen in natürlicher Sprache.
  • Query-Caching in Redis reduziert wiederholten LLM-Token-Verbrauch.

In der Entwicklung läuft die Pipeline gegen ein lokales Ollama-Modell (keine LLM-Kosten). In der Produktion skalieren die Kosten mit dem gewählten Modell - die Anreicherung von 50.000 Jobs entspricht etwa 140 Mio. Input-Tokens, von ~25 $ mit GPT-4o mini bis ~600 $ mit Claude Sonnet.

Gebaut für die Skalierung auf 1 Mio.+ Datensätze

Die Architektur skaliert horizontal: RabbitMQ sorgt für Backpressure, Temporal koordiniert verteilte Arbeit, Consumer laufen als mehrere Replikate, und pgvector-Indizierung plus Redis-Ergebnis-Caching halten Abfragen auch unter Last schnell. Das gesamte System startet mit einem einzigen Befehl - docker compose up -d --build bringt Datenbank, Message-Broker, Workflow-Engine, Cache, lokales LLM, API und Frontend gemeinsam online.

Stack

  • Backend & Daten: Python, PostgreSQL + pgvector, RabbitMQ, Redis, Temporal, Ollama
  • Frontend & API: TypeScript, Node.js-API-Server, React-UI
  • Scraping: Puppeteer, eigene rate-limitierte Scraper mit User-Agent-Rotation
  • Infrastruktur: Docker & Docker Compose, PL/pgSQL-Datenbankfunktionen, Shell-Skripte