B2B HR-Intelligence SaaS · DACH

VakanzPuls
Projektdokumentation

Umfassende technische und vertriebliche Dokumentation. Alle Metriken werden live von der Plattform geladen.

Version 1.0April 2026
Lade...Aktive Jobs
Lade...E-Mail-Rate
TeamŠkomi (Tech) · Sandro (Sales/GF)
Live-Daten Letzte Aktualisierung: wird geladen... Jobs/24h: Emails/h: Cluster:
Teil AProdukt & Vertrieb
01
Executive Summary
Produktvision · Live-KPIs

VakanzPuls ist eine B2B HR-Intelligence-Plattform für den DACH-Stellenmarkt. Die Plattform aggregiert Stellenanzeigen, reichert sie mit direkten HR-Kontaktdaten an und gibt Personalvermittlern einen entscheidenden Wettbewerbsvorteil bei der Kundenakquise.

Aktive Stellenanzeigen
E-Mail-Enrichment-Rate
21
ATS-Systeme integriert
+ 120K Karriereseiten
Kernwert für Personalvermittler: VakanzPuls zeigt in Echtzeit welche Unternehmen gerade aktiv Personal suchen — inklusive direktem Ansprechpartner, Telefonnummer und E-Mail. Kein manuelles Recherchieren mehr. Kein Kaltakquise-Blindflug.

Problem

Personalvermittler verbringen Stunden mit manueller Suche nach Kunden mit offenen Stellen. Kontaktdaten fehlen oder sind veraltet. Der Marktüberblick ist fragmentiert.

Lösung

VakanzPuls crawlt automatisch alle relevanten Job-Quellen im DACH-Raum, reichert Firmen mit direkten HR-Kontaktdaten an und liefert täglich aktuelle Intelligence — vollautomatisch.

ROI

Statt 2–4h täglicher Recherche: 5 Minuten Dashboard-Check. Direkte Kontaktdaten erhöhen Kaltakquise-Erfolgsrate signifikant. Wochenbericht DACH montags 08:00 automatisch.

02
Marktpositionierung
DACH HR-Intelligence — Wettbewerbsvorteile

Der DACH-Stellenmarkt umfasst über 50 Millionen Beschäftigte. Täglich werden zehntausende neue Stellen ausgeschrieben. VakanzPuls ist die erste Plattform die diesen gesamten Markt systematisch aggregiert und für Personalvermittler aufbereitet.

MerkmalVakanzPulsLinkedIn/XingIndeed/StepStoneManuelle Recherche
Echtzeit-Marktdaten✓ Jateilweiseteilweise✗ Nein
Direkte HR-Kontakte✓ automatischmanuell✗ Neinaufwändig
DACH-Vollabdeckung✓ 25+ ATSunvollständigteilweise✗ Nein
Behörden & Sozial✓ 25K+ Stellen✗ Neinteilweise✗ Nein
Outreach-Integration✓ direktInMail (kostenpfl.)✗ Nein✗ Nein
Automatisierungsgrad✓ vollautomatisch✗ manuell✗ manuell✗ manuell
03
Zielgruppe & Anwendungsfälle
Für wen ist VakanzPuls gemacht?
🎯
Personalvermittler & Staffing-Agenturen
Hauptzielgruppe. Benötigen täglich aktuelle Informationen welche Unternehmen gerade Personal suchen — mit direktem Kontakt zum HR-Entscheider.
🏢
HR-Dienstleister & Berater
Unternehmensberater die Mandanten bei Personalthemen unterstützen und einen systematischen Überblick über den Arbeitsmarkt benötigen.
📊
Marktforschung & Analytics
Teams die Stellenmarkt-Trends, Branchen-Entwicklungen und Nachfragesignale für strategische Entscheidungen auswerten.

Typische Anwendungsfälle

Kaltakquise & Neukundengewinnung

Personalvermittler exportieren täglich eine Liste von Unternehmen mit neuen Stellen — inkl. HR-Kontakt-E-Mail. Outreach startet automatisch.

Marktbeobachtung & Frühwarnung

Watchlist-Funktion: Bei neuen Stellen eines Wunschkunden sofortige Telegram-Benachrichtigung. Akquise beginnt bevor der Wettbewerb reagiert.

Branchenanalyse & Wochenbericht

Automatischer DACH-Report jeden Montag: Top-10 Branchen, wachsende Arbeitgeber, Engpassberufe, regionale Hotspots.

Kundenpflege & Bestandsmonitoring

Bestandskunden auf Watchlist — sobald Stellenvolumen sinkt oder neue Positionen entstehen: sofortige Benachrichtigung.

04
Feature-Übersicht
Alle Funktionen der Plattform

Kern-Features (Partner-Dashboard)

🔍
Markt & Quellen
Echtzeit-Übersicht aller aggregierten Job-Quellen. 150K+ Karriereseiten, 21 ATS-Systeme, Behörden, Hochschulen, Sozialwirtschaft.
Akuter Bedarf
Zeigt Unternehmen mit überdurchschnittlich vielen neuen Stellen in den letzten 7 Tagen — Signale für akuten Personalbedarf.
🔎
Schnelltest
Firma eingeben → sofortiger Steckbrief: E-Mail, Telefon, offene Stellen, Karriereseite, Quality-Score.
👁️
Watchlist
Unternehmen beobachten. Bei neuen Stellenanzeigen sofortiger Telegram-Alert. 7-Tage-Verlauf, Notizen.
📊
DACH-Report
Automatischer Wochenbericht: Top-Branchen, schnellst wachsende Arbeitgeber, regionaler Vergleich DE/AT/CH.
📈
Intelligence
Hiring Signals, Seismograph, Nachfrage-Forecast, Gehaltsanalysen, Engpassberufe-Radar.
🎯
Kundensegmentierung
GVP-Kontakte nach Region, Branche und Score-Tier segmentieren. CSV-Export für gezielte Outreach-Kampagnen.
📧
Outreach-Engine
Automatisierter E-Mail-Versand (SendGrid). 80/Tag, A/B-Templates, Unsubscribe, Tracking. Aktivierung nach Domain.
Quality Score Dashboard
Datenqualität nach Tier (A–F) und Kategorie. Verbesserungspotential identifizieren. Live-Score.
05
Preismodell
SaaS-Abonnement · 3 Tiers · Stripe
Starter
auf Anfrage /Monat
Kleine Personalvermittler & Einzelberater
  • Vollzugriff Markt & Quellen
  • Schnelltest (50/Tag)
  • Watchlist (max. 20 Firmen)
  • DACH-Report wöchentlich
  • E-Mail Support
Enterprise
auf Anfrage /Monat
Große Agenturen & Unternehmensgruppen
  • Alles aus Professional
  • Outreach unbegrenzt
  • Vollständiger API-Zugang
  • Multi-User (5 Seats)
  • White-Label Option
  • Dedizierter Account Manager
  • SLA-Garantie
Status: Stripe technisch integriert. Finale Preise nach Firmengründung und Domain-Aktivierung durch Sandro.
06
DSGVO & Compliance
Datenschutz, Rechtliches, Sicherheit

✓ Umgesetzt

  • Landing Page DSGVO-konform (Cookie-Banner, Datenschutzerklärung)
  • Outreach mit Unsubscribe-Link (DSGVO Art. 17)
  • Opt-out-Verwaltung in Datenbank
  • Datenspeicherung ausschließlich auf EU-Servern (Contabo DE)
  • HTTPS/TLS auf allen Endpunkten

⏳ Ausstehend (nach Gründung)

  • EU-Vertreter Art.27 — DRINGEND
  • Firmenname & Adresse im Impressum
  • datenschutz@vakanzpuls.de (nach Domain)
  • AV-Vertrag Contabo + SendGrid
  • Echte Telefonnummer (Sandro)
Teil BLive-Daten & Metriken
07
Live-Metriken
Direkt von der Plattform · Aktualisiert alle 60s
Aktive Stellenanzeigen
E-Mail-Rate
Mit Telefonnummer
Mit Beschreibung
GMaps-Firmen
Outreach-Kontakte
Bereit für Versand

Quality Score Verteilung

Wird geladen...

Government-Jobs (756K, 65% aller Jobs): government_description_fetcher läuft 4× täglich zur Verbesserung.

08
Datenquellen & Abdeckung
7 aktive Crawling-Systeme · 150K+ Quellen
🔍
ATS-Direktintegration
21 Applicant-Tracking-Systeme direkt angebunden. Täglich neue Tenants entdeckt via Serper-API, CDX Internet-Archiv und GMaps-Fingerprinting.
🌐
Karriereseiten-Crawler
120.384 Unternehmenswebsites mit eigenem Stellenbereich. Schema.org, HTML-Parsing, Playwright für JS-intensive Sites.
🏛️
Behörden & Öffentlicher Dienst
Interamt (12.790), Bundesländer-Portale, Niedersachsen, UKM Münster. Insgesamt 25.000+ öffentliche Stellen.
❤️
Sozialwirtschaft
AWO (~6K), DRK (3.961), Caritas (1.322), Malteser (1.243), Volkssolidarität (137). Täglich gecrawlt.
🎓
Hochschulen
Stellenwerk (1.362 Hochschul-Jobs). Akademische und wissenschaftliche Stellen aus deutschen Universitäten.
📰
Zeitungsportale
FAZ, SZ, Zeit via Playwright-Spider. Täglich 06:00 und 15:00 Uhr gecrawlt.
09
ATS-Integration
25+ aktive Applicant-Tracking-Systeme
ATS-SystemAktive QuellenJobs (aktiv)MethodeStatus
SmartRecruiters8669.201APIAktiv
Softgarden1.08257.518HTML (LB)Aktiv
Greenhouse90041.409API + WebhookAktiv
Lever86927.588APIAktiv
Personio2.36124.971API + WebhookAktiv
Workday7621.614HTMLAktiv
Workable1.45915.633APIAktiv
iCIMS1637.915HTML (LH)Aktiv
Pinpoint3597.409JSON API (LF)Aktiv
BambooHR1.8736.956JSON API (LD)Aktiv
Breezy5495.376JSON API (LF)Aktiv
Ashby1.4934.272API (LM)Aktiv
Recruitee642.133API (LN)Aktiv
Teamtailor48590HTML (LN)Aktiv
Haufe66553HTML (LN)Aktiv
JOIN.com1.413469API (LN)Aktiv
dvinci28360HTML (LN)Aktiv
+ Concludis, Schema.org, RSS~600~5.000VerschiedeneAktiv
10
Firmendatenbank (GMaps Discovery)
Wird geladen...
Firmen gesamt
Mit Karriereseite
Vollautomatischer 4-Phasen-Prozess:
1. Query-Generator erzeugt täglich 05:00 neue Such-Kombinationen (v3: 12.271 Queries/Zyklus)
2. gosom-Docker-Container (24 parallel auf W1+W2+W3) crawlen Google Maps
3. GMaps-Reaktor verarbeitet Rohdaten → Firmenprofile
4. Impressum-Crawler reichert E-Mail, Telefon, Inhaber an
11
Qualitätsscore-System
Kategorisierte Bewertung · Tägliche Recalculation

ATS / Direkt (Kernformel)

Titel + Location+20 Pkt
Description (>100 Zeichen)+20 Pkt
Employment Type+10 Pkt
E-Mail-Kontakt (Hauptfaktor)+30 Pkt
Telefonnummer+10 Pkt
Karriereseite + Gehalt+10 Pkt
Maximum100 Pkt

Behörden / Sozial (angepasst)

Titel, Location, Description, Emptype+50 Pkt
E-Mail (Bonus, nicht Pflicht)+15 Pkt
Telefonnummer+15 Pkt
PLZ / Adresse vollständig+10 Pkt
Gehaltsangabe (TVöD)+10 Pkt
Maximum100 Pkt

Separate Formel verhindert künstliche Score-Senkung durch Behörden-Jobs.

12
Outreach-Stack
SendGrid · Live-Status
Outreach-Kontakte
Alle mit E-Mail
Status
KomponenteStatusDetails
SendGrid API Key✓ AktivKonfiguriert
E-Mail-Templates A/B✓ FertigDirekt + Frage-Variante
Outreach Engine✓ Fertig80/Tag, Mo–Fr 09:00 Cron
Unsubscribe + Webhook✓ FertigDSGVO-konform
3 Outreach-Segmente✓ BereitStaffing (201) · Mittelstand (384) · Behörden (301)
Domain vakanzpuls.de⏳ SandroNach Ostern → Prompt CP
OUTREACH_ENABLEDfalseAktivierung nach Domain
Teil CTechnische Architektur
13
Systemarchitektur
4-Server-Cluster (Master + 3 Worker) · FastAPI · Next.js · PostgreSQL + PgBouncer(40)
VakanzPuls — Systemarchitektur 4-Server-Cluster · FastAPI · Next.js · PostgreSQL + PgBouncer(40) Admin :3003 Partner :3001 UptimeRobot Master · 161.97.79.192 Orchestrator · GMaps Reaktor/Harvester · Celery Beat · Shadow-Monitor Backend :8003 worker_scheduler Heartbeat · Adaptive LB Failover ~40s PostgreSQL + PgBouncer (Pool=40) — Shared State worker_heartbeats · gmaps_jobs · job_advertisements (76 Spalten, 51 Tabellen) Worker-1 173.212.217.37 · Shadow-Monitor ATS · Description · Enrichment · Quality Phone · GMaps(8) · Propagation Worker-2 161.97.170.205 Career Page · HTML · Triple Enricher Description · GMaps(8) Worker-3 95.111.233.0 · 47GB RAM Desc(Shard4+5) · Triple · Career Desc-Booster · GMaps(8)

Tech-Stack

Backend
FastAPI
Python 3.11
Uvicorn
Celery
aiohttp
Playwright
Frontend
Next.js 14
React
TypeScript
Tailwind CSS
Lucide Icons
Datenbank
PostgreSQL 15
PgBouncer
psycopg2
51 Tabellen
Infra & Tools
Contabo VPS
nohup
Docker
Telegram Bot
SendGrid
Stripe
14
Live-Cluster-Status
VakanzRaid · Heartbeat · Adaptive LB · Failover · Echtzeit
Wird geladen...
Wird geladen...
Wird geladen...
Adaptive Load Balancing: Lade...
15
Datenbank-Schema
51 Tabellen · PostgreSQL 16 · PgBouncer Pool=40
TabelleSpaltenBeschreibungKategorie
job_advertisements76Kern-Tabelle: alle Stellenanzeigen mit Enrichment-DatenCore
crawler_sources31Alle registrierten DatenquellenCore
gmaps_discoveries24Google-Maps-FirmendatenbankGMaps
outreach_contacts16GVP-Kontakte für OutreachOutreach
worker_heartbeats22Cluster-Health (JN-JP)Infra
hiring_signals17Seismograph-SignaleAnalytics
customers25Kunden-AccountsSaaS
subscriptions19Stripe-SubscriptionsSaaS
+ 43 weitere TabellenLogs, Config, Geo-Daten, Analytics...Support
Host:      127.0.0.1 (lokal) | 161.97.79.192 (Worker)
Port:      5433 (PgBouncer — NICHT 5432!)
Pool:      40 Verbindungen (+ Reserve 15) · Session-Mode
PG-Config: max_parallel_workers_per_gather = 0
16
Crawler-Infrastruktur
131 Python-Scripts · 42 Daemons · 24/7
⚙️
42 permanente Daemons
Laufen 24/7 auf Master (13) + W1 (12) + W2 (12) + W3 (7). + 2 hiberniert. Auto-Healer + Never-Idle + Health-Check (15min).
🐳
24 GMaps-Docker-Container
8 Container auf 3 Workern (8+8+8). gosom-basiertes Google-Maps-Scraping. Memory-Limit 4GB, CPU-Limit 1.5 Cores je Container.
🔄
Enrichment-Pipeline
5-stufig: Impressum → Domain → E-Mail → Phone (SKIP LOCKED) → Quality-Score. 24/7 auf Worker-1.
DaemonServerFunktion
master_orchestratorMasterKoordination, Heartbeat-Check, Worker-Monitoring
gmaps_reaktorMasterGMaps-Queue-Management, Sofort-Neuzyklus
gmaps_job_harvesterMasterGMaps-Rohdaten → gmaps_discoveries
ats_crawler_daemonWorker-1Kontinuierliches Crawlen aller 21 ATS-Systeme
enrichment_pipeline_v2Worker-1Impressum + E-Mail/Phone-Enrichment 24/7
quality_score_v2Worker-1Scoring (5K Batch/60s), kategorisierte Formel
phone_enricherWorker-1Telefon-Propagierung via SKIP LOCKED
career_page_daemonWorker-2150 concurrent Career-Page-Checks
triple_enricher_daemonWorker-2GMaps + Impressum + Job-Text Phone kombiniert
shadow_monitorWorker-1Master-Failover (20s Zyklus, auto-Promotion)
17
API-Dokumentation
119 Routen · FastAPI · Port 8003

Öffentliche Endpunkte

GET /api/health — Health-Check
GET /api/public/briefing — System-Briefing
POST /api/public/webhook/* — ATS-Webhooks
POST /auth/login — JWT-Authentifizierung

IQ-Features

GET /iq/akuter-bedarf
GET /iq/kundensegmente
GET /iq/watchlist
GET /iq/schnelltest?query=
GET /iq/dach-report
GET /iq/quality-dashboard

Cluster & Monitor

GET /api/cluster/status
GET /api/cluster/lb-status
GET /monitor/* — 12 Endpunkte
GET /api/workers/docker
GET /admin/api/auto-analyst/status — Auto-Analyst Log + Stats
POST /admin/api/auto-analyst/trigger — Analyst manuell auslösen

Business

GET /dashboard — Partner-KPIs
GET /customers/* — 9 Routes
GET /gvp/* — 6 Routes
GET /outreach/* — 5 Routes
GET /subscriptions/* — Stripe
18
Automatisierung & Cronjobs
39 Cron-Einträge · 24/7 Betrieb
FrequenzScriptFunktion
*/2 minvakanzpuls_watchdog.shMaster-Daemon-Überwachung + Auto-Restart
*/5 minworker_scheduler.pyPhase-A/B + Adaptive Rebalancing
*/30 mincritical_alert.pyBackend, Worker-SSH, Celery, Spider-Stale
Stündlichwatchlist_daemon.pyWatchlist-Alerts für neue Jobs
4x täglichgovernment_description_fetcher.pyDescriptions für Behörden-Jobs (03/09/15/21h)
tägl. 05:00gmaps_query_generator_v3.pyNeue GMaps-Queries + Sofort-Neuzyklus
tägl. 06:00–09:00Alle Spider (Interamt, Stellenwerk, AWO, DRK...)25K+ öffentliche Stellen täglich
tägl. 08:30morning_briefing.pyTelegram-Statusbericht
Mo 08:00dach_report.pyWöchentlicher DACH-Report
So 01:00dedup_jobs.pyDuplikate-Bereinigung
monatl. 1.generate_market_report.pyMonatlicher Marktbericht
18b
Always-Working System
6 Daemons · Kein System darf idle sein · Auto-Analyst

Seit April 2026 sorgt das Always-Working System dafür, dass alle Crawling- und Enrichment-Prozesse permanent arbeiten. Kein Daemon bleibt unbemerkt idle — automatische Erkennung und Wiederherstellung in unter 60 Sekunden.

🤖
Briefing Auto-Analyst
Liest alle 30 Min den Briefing-Endpunkt, erkennt Probleme via Regel-Engine (12 Regeln) + Anthropic Claude API + AOE (Autonomous Optimization Engine). LOW-Risk auto-execute, MEDIUM Telegram-Buttons, HIGH Admin-Portal. Nachtmodus 23-07 Uhr.
👁
Never-Idle Monitor
Prüft alle 5 Min: GMaps-Queue leer → Auto-Neustart, Description-Rate unter Schwellwert → Alert, E-Mail-Pipeline stagniert → Alert + Restart, Worker-Heartbeat prüfen.
🐳
GMaps Docker Monitor
Läuft auf W1 und W2 lokal. Prüft alle 60s ob gmaps_turbo.py und alle 8 gosom-Container laufen. Erkennt Hung-Container (0% CPU >5 Min), startet automatisch neu.
📝
Description Booster
50 concurrent HTTP-Requests 24/7. Zielt auf Jobbörsen, ATS-Softgarden/Greenhouse/Lever/Personio/Ashby. Rate: ~278 Beschreibungen / 30 Sekunden = ~33.000/h.
🤖
BA-Description-Fetcher
Playwright-basiert (15 Tabs), speziell für Bundesagentur für Arbeit (JavaScript-rendered). Ziel: 743K BA-Jobs mit Beschreibung in ~34 Tagen.
📧
Domain Email Booster
40 concurrent. Domains mit meisten offenen Jobs zuerst. Alle bekannten Impressum-Pfade. E-Mail-Propagation auf alle Jobs einer Domain. Ziel: 247K Domains.

Briefing Auto-Analyst — Regel-Engine

BedingungAktion (LOW-Risk, sofort)Cooldown
apollo.daemon = falseApollo-Daemon starten6h
emails_pro_stunde = 0Enrichment-Pipeline prüfen + Restart2h
GMaps Queue pending=0 + idlegmaps_jobs auf 'pending' zurücksetzen → Zyklus startet1h
BA-Fetcher nicht aktivBA-Fetcher starten4h
desc_pct < 25% + Booster downDescription-Booster neu starten4h
E-Mail-Rate < 60%Email-Booster-Status prüfen6h
GMaps-Karriere-Funnel < 100/24hUngecheckte Karriereseiten analysieren24h
GVP ohne E-Mail > 50%GVP-Kategorien analysieren24h
Alle Daemons aktiv aber Output=0Prozess-Status-Snapshot3h
Claude API Integration: Wenn ANTHROPIC_API_KEY gesetzt, analysiert Claude Sonnet nach jedem Regel-Engine-Durchlauf das aktuelle Briefing und identifiziert 2-3 weitere Optimierungen — diese werden als Maßnahmenplan per Telegram gesendet.
Teil DBetrieb & Wartung
19
Monitoring & Alerting
Telegram · UptimeRobot · Morning-Briefing
📱
Telegram-Alerting
Alle kritischen Events sofort per Telegram-Bot: Daemon-Crashes, Worker-Ausfall, Backend-Down, hoher Load, Spider-Stale.
🤖
UptimeRobot
Externer Monitor prüft Backend-API alle 5 Minuten (HEAD+GET /api/health). Alert bei HTTP ≠ 200.
📋
Morning-Briefing
Täglich 08:30 Telegram: Jobs, E-Mail-Rate, Quality Score, Cluster-Health, GMaps-Status, Emails/h.
20
Failover & Redundanz
Shadow-Monitor · Hot-Standby · Auto-Recovery

JN — Heartbeat-System

Alle Server schreiben alle 30s in worker_heartbeats: Load, RAM, Daemons, Docker-Count, Queue. Orchestrator prüft alle 60s.

JO — Adaptive LB

adaptive_lb.py routet Tasks zum besten Worker. GMaps-Docker-Load herausgerechnet. RAM + Slots entscheiden.

JP — Master-Failover

shadow_monitor.py auf W1: bei 2× Ausfall (~40s) → W1 startet Backend :8004 + Celery-Beat. Auto-Recovery.

Im Failover verfügbar: Admin/Partner-Dashboard (W1:8004), Celery-Cronjobs, Telegram-Alerts, GMaps-Crawling. Nicht verfügbar: DB-Schreibzugriffe (DB liegt lokal auf Master).
21
Deployment
Git-basiert · nohup · add_worker.sh
# Deployment-Workflow:
git add -A && git commit -m "feat(KN): ..." && git push origin master

# Frontend rebuild (immer mit rm -rf .next!):
cd /home/zerocool/crawler/admin
rm -rf .next && npm run build
fuser -k 3003/tcp; sleep 8; nohup npx next start -p 3003 &

# Backend restart:
bash scripts/backend_restart.sh

Kritische Regeln

  • Immer rm -rf .next vor Build
  • DB-Host Worker: 161.97.79.192 (NICHT 127.0.0.1)
  • PgBouncer Port: 5433 (NICHT 5432)
  • Git-Branch: master
  • Backend NUR über scripts/backend_restart.sh

Daemon-Verteilung (42)

  • Master (13): orchestrator, reaktor, harvester, celery, heartbeat, bot, never-idle, auto-analyst, tis, aoe-executor, doku-updater, docker-monitor, apollo
  • Worker-1 (12): ats-crawler, mass-crawler, salary, phone, description, enrichment, quality, desc-booster, shadow, emptype, heartbeat, gmaps-daemon
  • Worker-2 (12): career-page, career-html, triple-enricher, ba-fetcher, description, desc-booster, domain-resolver, data-propagator, contact-completer, career-miner, heartbeat, gmaps-daemon
  • Worker-3 (7): description(shard4+5), desc-booster, career-page, triple-enricher, career-html, heartbeat, gmaps-daemon

+ 2 hiberniert: ats-email-enricher, domain-email-booster (reaktiviert bei >500 neuen GMaps-Domains/Tag)

Teil ERoadmap & Ausblick
22
Roadmap
Prompt-Chronologie A–MZ · Nächste Schritte

Abgeschlossene Meilensteine

Plattform-Grundstruktur (A–GF)
FastAPI-Backend, Next.js-Admin, PostgreSQL, erste ATS-Crawler, PgBouncer
Enrichment-Pipeline v2 (GG–HF)
Impressum-Crawler, E-Mail-Enrichment, Phone-Propagierung, Career-Page-Intelligence, GMaps-Discovery
Migration Master→Worker (IR–IS)
Master-Load 10.8 → 4.4. 5 schwere Daemons migriert. PG parallel_workers=0.
IQ-Features (JI)
Akuter Bedarf, Kundensegmentierung, Watchlist, Schnelltest, DACH-Report
GMaps-Zyklus v3 (JH)
12.271 neue Queries, Sofort-Neuzyklus, 13 Docker-Container parallel
Quality Score v3 + Dashboard (JJ–JK)
Kategorisierte Formel, E-Mail-Fix, Government-Description-Fetcher, Dashboard-Frontend
Master-Load-Optimierung (JL–JM)
Load 11.3→5.07. Celery=2, PgBouncer Pool=15, Backend workers=2, add_worker.sh, Phone-SKIP-LOCKED
VakanzRaid Cluster-System (JN–JP)
Heartbeat, Adaptive LB, Master-Failover/Shadow-Monitor. Cluster-Dashboard live.
JQ–JR — BA-Fetcher + Email-Booster + Telegram Bot v2
BA-Description-Fetcher (Playwright, 15 Tabs, 743K Ziel), Domain-Email-Booster (247K Domains), Telegram Control Bot v2 (10 Commands, 39+ Aktionen), GMaps Docker Monitor (W1+W2), Data Consistency alle 4 Portale.
JS–JT — Always-Working + Briefing Auto-Analyst
Never-Idle Monitor, Description-Booster (278 Desc/30s), briefing_auto_analyst.py (Regel-Engine + Claude API + Telegram-Approval), Employment-Type-Extraktion, Auto-Analyst im Admin-Portal.
JU–JY — Enrichment + Master-Entlastung
Claude API aktiv, GMaps-Career-Funnel, Phone +26.5K, ATS-Email-Enricher, Domain-Resolver, Data Propagator. 5 Daemons Master→W2 migriert (Load 14→9.6).
JZ–KE — TIS + Admin-Portal 7 Tabs
Telegram Intelligence System (Scanner, Classifier v3, Pranger, 516 Nachrichten), 7 Admin-Tabs (Auto-Analyst, Propagator, Doku-Updater, TIS), Umlaute-Fix, Telegram Spam-Unterdrückung.
KF–KK — AOE (Autonomous Optimization Engine)
Strukturierte Claude-Aktionen, Risk-Gate Executor, Telegram Inline-Buttons, Infra-Snapshot (129 Konstanten), Whitelist-Validator, Nachtmodus (23-07), Emergency-Stopp, Morgen-Briefing.
KL–KY — Pipeline-Fixes + Career Email Miner
desc_booster→W1, BA-Fetcher→W2, 16 Crons gefixt, AOE Anti-Eskalation, 4-Shard Description, Triple Enricher 6x, AOE Kalibrierung, Career Email Miner.
KZ–LA — Tagesbilanz + Briefing-Fix
Tagesbilanz 22:00 Telegram, Pipeline-Hibernation (Wakeup-Checker 06:30), Briefing 34 Daemons, Token-Auth, Backend run_in_executor.
LB–LF — 5 ATS-Spider neu aktiviert
Softgarden (18.808 Jobs, API→HTML), BambooHR (4K+ Jobs, embed2→careers/list), Breezy (5.376), Pinpoint (7.409), iCIMS (7.649). +44K Jobs.
LG–LH — Employment-Type + Ashby
EmpType 36.2%→41.7% (Normalisierung + Titel + Desc-Batch), Ashby 4.272 Jobs, Heartbeat in Watchdog.
LI–LL — Worker-3 vollständig integriert
95.111.233.0 (47GB RAM), 7 Daemons, GMaps 8+8+8→6+6+6→8+8+8 (24 Container), LoadGuard Docker-aware, Echtzeit-Dashboard.
LM–LN — 7 weitere ATS + W3 Auslastung
SmartRecruiters, Haufe, dvinci, Teamtailor, Workable, Join, Recruitee aktiviert. W3 +2 Daemons (triple+career_html).
LO–LP — AOE Redesign
Emergency-Stop-Bug gefixt (Cooldown≠Fehler), Nachtmodus 23-07 monitor-only, Auto-Approve Rate-Limit 3/h, Success-Tracking, 6 Telegram-Commands.
LQ–LS — Datenqualität-Merge + Health-Monitoring
MONITORING→DATENQUALITÄT Merge, LoadGuard per-Worker (load_5m), Proaktives Health-Monitoring (15min, 7 Checks), Doku-Updater Fix.

Nächste Schritte

Outreach erste Welle (nach Domain)
OUTREACH_ENABLED=true, 200 Staffing-Agenturen als erste Welle, A/B-Template-Test. Wartet auf Domain vakanzpuls.de (Sandro).
EU Art.27 DRINGEND
activemind.legal ~50€/Mo. Muss vor Outreach erledigt sein.
Erstkunden-Onboarding
Domain live, Impressum vollständig, Stripe-Preise, Partner-Dashboard-Demo.
23
Parkplatz
Offene Punkte die auf externe Trigger warten

Dringend nach Gründung

  • EU-Vertreter Art.27 — activemind.legal ~50€/Mo (DRINGEND)
  • Firmenname + Adresse im Impressum
  • datenschutz@vakanzpuls.de (nach Domain)
  • AV-Vertrag Contabo + SendGrid
  • Echte Telefonnummer (Sandro)

Warten auf externe Trigger

  • Domain vakanzpuls.de → Sandro
  • Stripe-Preise → Sandro festlegen
  • Erstkunden-Demo → nach Domain
  • desc_pct 33%→70% (Description-Pipeline läuft 24/7)
VakanzPuls — Projektdokumentation v1.0
Stand: April 2026 · Prompt-Stand: A–MZ deployed · Nächste ID: NA
Team: Škomi (Tech/CTO) · Sandro (Sales/GF)
GitHub: 0xxCool/vakanzpuls · Branch: master