Projekt-Fazit & Entwicklungszeit
Dieses Projekt wurde in einer Entwicklungszeit von unter 2 Stunden voll funktionsfähig als Webanwendung implementiert – inklusive lokalem Client-CRM im Browser, der kompletten asynchronen Audit-Logik und dem Pitch-Generator. Das beweist eindrucksvoll die enorme Effizienzsteigerung (Faktor 5 bis 10) durch KI-gestütztes Rapid Prototyping bei vollem Erhalt moderner Clean-Code-Prinzipien.
Executive Summary: Was macht LeadFlow B2B?
Die manuelle Akquise von Neukunden ist für Webdesign-Agenturen, SEO-Consultants und Dienstleister ein zeitaufwendiger Flaschenhals. Man sucht Betriebe in Branchenbüchern heraus, ruft deren Webseiten einzeln auf, analysiert sie manuell auf technische Defizite (fehlendes SSL, schlechte Mobilfreundlichkeit, fehlerhafte Überschriften-Strukturen) und entwirft anschließend individuelle E-Mails.
LeadFlow B2B automatisiert diesen gesamten Workflow lückenlos in einem einzigen Tool:
- Intelligenter Lead-Scraper: Liest Branchenbucheinträge aus Gelbe Seiten unter Umgehung clientseitiger Verschleierungstechniken (Base64) automatisiert aus.
- Asynchroner Web-Auditor: Führt zeitgleich Prüfungen auf HTTPS/SSL-Verschlüsselung, Erreichbarkeit, grundlegende SEO-Meta-Tags (Title, H1, Viewport) und CMS-Technologien durch.
- Lokales Mini-CRM: Speichert Notizen und den Status der Akquise-Pipeline (Neu, Kontaktiert, Kein Interesse, Erfolg) direkt und persistent im Browser (`localStorage`).
- Dynamischer Pitch-Generator: Generiert auf Knopfdruck E-Mails, die sich exakt an die ermittelten Schwachstellen der Kunden-Website anpassen (oder das Fehlen einer Homepage ansprechen) – wahlweise in professioneller, freundlicher oder dringlicher Tonalität.
Architektur & Datenfluss
Die Anwendung nutzt ein **FastAPI Backend** in Python für die API-Endpunkte und ein schnelles, interaktives **Vanilla JavaScript/CSS Frontend** im Glassmorphism-Stil. Der Kern-Datenfluss läuft wie folgt ab:
Unter der Haube: Die technischen Highlights
1. Bypassing clientseitiger Verschleierung
Moderne Portale verschleiern Telefonnummern und Website-Links im HTML-Code, um automatisiertes Bot-Scraping zu verhindern. Sie nutzen dafür Datenattribute wie data-prg oder data-webseitelink, die mit Base64 kodiert sind. LeadFlow B2B umgeht diese Hürde elegant durch einen automatischen Decoder-Algorithmus direkt beim Parsing des DOM:
def decode_b64(val):
if not val:
return ""
try:
val = val.strip()
missing_padding = len(val) % 4
if missing_padding:
val += '=' * (4 - missing_padding)
return base64.b64decode(val).decode('utf-8', errors='ignore')
except Exception:
return ""
2. Robustheit durch Synonym-Fallback (`SYNONYM_MAP`)
Ein klassisches Problem beim Suchen in Branchenbüchern: Freitext-Suchen im URL-Pfad (z. B. /suche/schulungsanbieter/hamburg) liefern einen 404-Fehler oder null Ergebnisse, wenn die genaue Formulierung nicht als Branchenschlüssel hinterlegt ist. LeadFlow B2B löst dieses Problem durch eine dynamische Übersetzungs- und Fallback-Matrix.
Wird nach "Schulungsanbieter" gesucht und kein Treffer erzielt, greift automatisch das Fallback-Verfahren:
# Auszug aus scraper.py
SYNONYM_MAP = {
"schulungsanbieter": ["weiterbildung", "schulung", "seminare", "schule"],
"handwerker": ["maler", "dachdecker", "schreiner", "elektriker"],
}
def scrape_gelbeseiten(industry, location, limit):
results = scrape_gelbeseiten_raw(industry, location, limit)
if results:
return results
# Fallback-Suche bei 0 Treffern:
alternatives = SYNONYM_MAP.get(industry.lower(), [])
combined = []
seen = set()
for alt_kw in alternatives:
alt_res = scrape_gelbeseiten_raw(alt_kw, location, limit - len(combined))
for r in alt_res:
if r["name"] not in seen:
seen.add(r["name"])
combined.append(r)
return combined
Das Tool führt vollautomatisiert im Hintergrund mehrere Suchen aus, kombiniert die Ergebnisse und filtert Duplikate über den Namen heraus. Das macht den Scraping-Workflow extrem ausfallsicher.
3. Asynchroner High-Speed Web-Auditor
Um bei 50 oder 100 Leads nicht mehrere Minuten auf die Website-Prüfungen zu warten, arbeitet die Verifikations-Pipeline komplett asynchron über httpx.AsyncClient. Ein Semaphore-Limit von 10 verhindert dabei ein Überlasten des lokalen Systems sowie ein unabsichtliches Blockieren der Zielseiten (DDoS-Protection):
# Asynchrone Parallelprüfung
sem = asyncio.Semaphore(10)
async def sem_verify(lead):
async with sem:
web_info = await verify_website(lead["website"])
# ... SEO-Tags und CMS parsen ...
Der Technologie-Stack
| Komponente | Technologie | Zweck |
|---|---|---|
| Backend Framework | FastAPI (Python 3.10+) | REST-Schnittstellen für Suche und Pitch-Erstellung |
| Scraper-Bibliothek | Scrapling (DynamicFetcher) | Playwright-basiertes Scraping & AJAX-Pagination |
| Web-Clients | HTTPX (async) | Parallelisierter Check der Zielwebseiten |
| Datenhaltung CRM | HTML5 Web Storage (localStorage) | Browser-seitige Persistierung der CRM-Notizen |
| UI / Styling | CSS Grid/Flexbox & Glassmorphism | Modernes Responsive Dark-Design |
Rechtlicher Rahmen: Lizenzen, DSGVO & Kaltakquise (UWG § 7)
Nutzung von Open-Source-Bibliotheken: LeadFlow B2B basiert im Kern auf der quelloffenen Scrapling-Bibliothek (https://github.com/D4Vinci/Scrapling), welche unter der liberalen BSD 3-Clause License lizenziert ist. Die Nutzung in dieser eigenständigen Anwendung ist somit vollkommen konform und rechtlich zulässig.
Wer B2B-Kaltakquise in Deutschland betreibt, muss die strengen gesetzlichen Regelungen beachten. Das Tool wurde so konzipiert, dass es den Anwender bei der Einhaltung des rechtlichen Rahmens unterstützt:
E-Mail-Akquise (Kritisch)
Laut UWG § 7 Abs. 2 Nr. 3 ist unverlangte E-Mail-Werbung auch im B2B-Bereich ohne vorheriges Opt-in abmahngefährdet. Das Tool bietet zwar Pitch-Texte, warnt jedoch explizit vor direktem Cold Mailing.
Telefon-Akquise (Zulässig)
Telefonakquise im B2B-Bereich ist bei mutmaßlicher Einwilligung zulässig. Da ein technischer Mangel (kein SSL, kein DSGVO-Hinweis) den Betrieb schädigt, ist ein sachlicher Bezug leicht zu argumentieren.
Post-Akquise (Sicherster Weg)
Postalische Werbung unterliegt keinen strengen Einwilligungspflichten. Der empfohlene Workflow: Betriebe ohne Website filtern, ein Anschreiben drucken und postalisch versenden.
Business Nutzen: Warum Workflow-Automatisierung?
Die manuellen Schritte für 50 B2B-Leads dauern in der Praxis etwa **3 bis 4 Stunden**. LeadFlow B2B benötigt für die komplette Suche, Datenentschlüsselung, asynchrone Prüfung aller 50 Websites und das Sortieren im CRM genau **15 bis 20 Sekunden**. Das bedeutet eine **Zeitersparnis von über 98%** in der Akquise-Vorbereitung. Freelancer und kleine Agenturen gewinnen dadurch wertvolle Stunden, die sie direkt in Kundenprojekte stecken können.
Konkrete Anwendungsfälle aus der B2B-Praxis
Um den Nutzen von LeadFlow B2B zu verdeutlichen, betrachten wir zwei detaillierte Szenarien aus der Praxis eines IT-Dienstleisters bzw. SEO-Consultants:
Szenario 1: Gezielte SSL-Sicherheitsakquise ("Fliesenleger in Köln")
Ausgangslage: Ein lokaler Webdesigner möchte gezielt handwerkliche Betriebe akquirieren, deren Websites unsicher übertragen werden, da Chrome und Safari diese Seiten mit "Nicht sicher" blockieren, was die Conversion-Rate um bis zu 80% senkt.
Ablauf: Der Nutzer sucht nach der Branche Fliesenleger in Köln. Das FastAPI-Backend fragt die API an, umgeht die Base64-Verschlüsselung der Verzeichnisse und prüft alle 30 Treffer. Davon werden 6 Betriebe mit status_code: "NO_SSL" markiert. Der Anwender wählt einen Betrieb aus und fordert über /api/generate_pitch mit tone: "urgent" ein Anschreiben an.
E-Mail-Auszug: Bei einer Überprüfung Ihrer Webseite wurden folgende Probleme festgestellt: - Fehlende SSL-Verschlüsselung (Ihre Seite wird in Browsern als 'Unsicher' markiert und schreckt Kunden ab). Wir können diese Fehler für Sie in weniger als 48 Stunden korrigieren...
Resultat: Statt Kaltakquise ohne Argumente kontaktiert der Designer den Betrieb mit einer konkreten Sicherheitswarnung. Dies führt zu einer Conversion-Rate von ca. 15% beim telefonischen Erstkontakt.
Szenario 2: Neukundengewinnung ohne Webpräsenz ("Autowerkstatt in Berlin")
Ausgangslage: Eine lokale Digitalagentur sucht kleine Dienstleister, die noch überhaupt keine eigene Homepage haben und somit in der Websuche für potenzielle Kunden unsichtbar sind.
Ablauf: Der Nutzer sucht nach der Branche Autowerkstatt in Berlin und aktiviert den Filter no_website_only: true. Das System liefert ausschließlich Betriebe zurück, die im Verzeichnis keine Webseite hinterlegt haben.
E-Mail-Auszug: ...festgestellt, dass Ihr Unternehmen noch über keine eigene Internetpräsenz verfügt. In der heutigen Zeit ist eine professionelle Website der digitale Stellvertreter Ihres Betriebs... gerne würde ich Ihnen in einem kurzen Telefongespräch aufzeigen, welche Potenziale wir für Ihren Betrieb erschließen können...
Resultat: Der Nutzer exportiert diese Liste als CSV und führt ein zielgerichtetes Anschreiben per Post durch, verknüpft mit dem im Repository enthaltenen verkaufsfertigen website-template.