Skip to content
View BastianScherzinger's full-sized avatar

Block or report BastianScherzinger

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
BastianScherzinger/README.md

Bastian Scherzinger — Django-Webseiten, SEO und Python-Automatisierung

Hallo, ich bin Bastian.

Ich baue Webseiten für kleine und mittlere Betriebe — mit Django, von Grund auf selbst, inklusive Deployment, Domain, SEO und laufender Betreuung. Daneben entstehen Werkzeuge, die echte Arbeit abnehmen: Bestellsysteme, Scraping-Pipelines, Automatisierung.

Angefangen habe ich mit 11 bei Scratch. Im Juli 2025, direkt nach dem Realschulabschluss, habe ich bewusst wieder bei hello world begonnen und seitdem nicht mehr aufgehört.

Aktuell: freiberufliche Kundenprojekte · Ab 2027: Ausbildung zum Fachinformatiker für Anwendungsentwicklung



Webseiten — mein Hauptgeschäft

Sieben Seiten sind produktiv im Einsatz. Jede davon habe ich vollständig selbst gebaut: Konzept, Inhalte, Django-Umsetzung, Design, Deployment und die Suchmaschinen-Optimierung danach.

flowchart LR
    A["Anfrage"] --> B["Konzept<br/>Struktur · Texte"]
    B --> C["Umsetzung<br/>Django"]
    C --> D["Deployment<br/>Railway · Domain"]
    D --> E["SEO und GEO<br/>Schema.org · llms.txt"]
    E --> F["Betreuung<br/>Änderungen · Ads"]
    F -. neu .-> B
Loading

Kundenseiten

Rümpelwerk Mitteldeutschland WVM-IT
Rümpelwerk Mitteldeutschland
Entrümpelung & Haushaltsauflösungen. Mein bestbetreutes Projekt: Seite, SEO und Google Ads aus einer Hand — es kommen laufend echte Aufträge über die Seite herein.
WVM-IT
Österreichisches IT-Unternehmen, zugleich Auftraggeber und Kooperationspartner. Dreisprachig DE/EN/RO über ein eigenes i18n-Paket ohne gettext.
Automobilzentrum Rhein-Neckar Luviq Universe
Automobilzentrum Rhein-Neckar
Luxus- und Sportwagenhandel und mein technisch aufwändigstes Frontend. Ein Kinovideo, dessen Wiedergabe der Scroll-Position folgt statt selbst zu laufen, und ein Showroom mit Fahrzeugen, die man mit der Maus rundherum drehen kann — sechs Modelle von Bugatti bis Lamborghini.
Luviq Universe
Vollständiger Onlineshop für handbemalte Second-Hand-Mode: Katalog, Warenkorb, PayPal-Checkout, Konten. Mein erstes Projekt für eine andere Person.
RTC-Service Flügel Haus & Gebäudeservice
RTC-Service
Technik, Installation und Modernisierung. Im Kopfbereich steht ein interaktiver 3D-Roboter (Spline, WebGL), der auf Mausbewegungen reagiert. Dazu direkte Kontaktwege über WhatsApp und Telefon.
Flügel Haus & Gebäudeservice
Gebäudereinigung und Gartenpflege. Klare Leistungsstruktur mit Angebotsanfrage als zentralem Weg.

Mein eigenes Angebot

PyStore

PyStore — hierüber verkaufe ich Webseiten. Django-Multi-App mit rund 135 eigenständigen Stadtseiten für lokale Suchanfragen, FAQ- und Breadcrumb-Auszeichnung, selbst gehostete Schriften und Skripte. Lighthouse-Barrierefreiheit 100.

Was SEO und GEO bei mir konkret heißt: strukturierte Daten als @graph statt loser Schnipsel, FAQPage- und Breadcrumb-Auszeichnung, llms.txt und eine für KI-Crawler geöffnete robots.txt, Antwort-zuerst-Texte, dazu Local-SEO für den deutschsprachigen Raum. Bei Rümpelwerk kommt die Google-Ads-Betreuung dazu.



Reichweite

TikTok-Reichweite: 1.800+ Follower, 11.269 Likes, 126.000 und 100.000 Aufrufe

Auf TikTok veröffentliche ich als @python_tutorials_de Python-Tutorials und zeige, woran ich gerade baue. Angefangen bei null.

Das war nie nur Nebensache. Erklären zwingt zum Verstehen — und der Kanal ist bis heute mein wichtigster Vertriebsweg: mehrere meiner zahlenden Kunden haben mich über TikTok gefunden, angefangen beim allerersten Auftrag, der aus einem Kommentar unter einem Video entstand.

Am besten liefen zwei Videos über meine Scraping-Dashboards mit 126.000 und 100.000 Aufrufen — gezeigte Projekte ziehen deutlich mehr als reine Tutorials.



Der Weg hierher

Entwicklungsweg von 2016 bis 2026

Als scroll-gesteuerte Seite ansehen — dort wächst die Zeitleiste mit, während man scrollt.

Zwei Dinge in dieser Zeitleiste haben mehr verändert als alles andere.

Das erste war die Programmier-AG im Internat. Zehn bis fünfzehn Mitschülern Python beizubringen zwang mich, Konzepte so weit zu durchdringen, dass ich sie erklären konnte. Wer eine for-Schleife dreimal unterschiedlich erklären muss, bis es klick macht, versteht sie danach selbst anders.

Das zweite war ein Kommentar unter einem TikTok-Video. Jemand fragte, ob ich einen Vinted-Scraper mit Discord-Anbindung bauen könne. Ich sagte zu, lieferte — und aus „Python lernen" wurde „Software für fremde Anforderungen bauen". Alles danach folgte aus diesem einen Auftrag.


Fähigkeiten

Fähigkeiten mit Belegen

Die Einstufungen sind aus gemessener Nutzung abgeleitet, nicht geschätzt: Codezeilen, Testfunktionen und produktive Projekte. Wo ich schwach bin, steht das genauso da wie das, was ich kann.



Weitere Projekte

Neben den Webseiten entstehen Werkzeuge, die konkrete Arbeit abnehmen.

LieferungDirekt — Bestellsystem für ein Restaurant

FastAPI-Backend mit PostgreSQL und Redis, dazu eine native Android-App in Kotlin und Jetpack Compose. Bestellungen lösen im Laden einen Alarm aus — ohne Firebase, über einen eigenen Long-Polling-Kanal. Für Betreiberkonten ist Zwei-Faktor-Authentifizierung per TOTP Pflicht.

Der Teil, auf den ich am meisten Wert gelegt habe, steht nicht im Code: Der Wirt pflegt Speisekarte, Fotos, Stammdaten und Rechtstexte selbst in der App. Das System gehört nach der Übergabe ihm, nicht mir.

flowchart LR
    A["Android-App<br/>Kotlin · Compose"] -->|REST + JWT| B["FastAPI<br/>Service-Schicht"]
    B --> C[("PostgreSQL")]
    B --> D[("Redis<br/>Rate-Limit · Cache")]
    B -->|Long-Polling| E["Küchen-Alarm"]
    F["Wirt<br/>pflegt Inhalte selbst"] --> B
Loading

17.744 Zeilen Python · 13.174 Zeilen Kotlin · 214 Tests · Docker · 10 Doku-Dateien Privates Repository — der Kunde hat es noch nicht abgenommen.


livingen — Wohnungs-Pipeline mit Discord-Ausspielung

Scrapt Mietwohnungsangebote, sortiert sie nach Bundesland und spielt sie über einen Discord-Bot aus. Technisch mein saubersten gebautes Projekt: das einzige mit durchgehender Testabdeckung, Docker und GitHub Actions.

flowchart LR
    A["Kleinanzeigen<br/>urllib · BeautifulSoup"] --> B["Scraper-Schicht<br/>Normalisierung · Dedup"]
    B --> C[("Datenhaltung")]
    C --> D["Dashboard<br/>Flask · Live-Fortschritt"]
    C --> E["Discord-Bot<br/>Ausspielung je Bundesland"]
    D -->|Suchen anlegen| B
Loading

47.785 Zeilen Python · 1.545 Testfunktionen in 137 Dateien · Docker · CI

Zur Seite


JARVIS — Lead-Pipeline und Website-Generator

Deckt den Weg von der Lead-Recherche bis zur fertig deployten Kundenwebseite ab. Entstanden aus einem praktischen Problem: Der zeitaufwändigste Teil meiner Arbeit war nie das Programmieren, sondern Betriebe finden, Kontakte recherchieren, Inhalte zusammentragen, aufsetzen, deployen.

flowchart TB
    A["Quellen<br/>Verzeichnisse · Maps"] --> B["Scraper<br/>Playwright · cloudscraper"]
    B --> C["Anreicherung<br/>Kontakt · bestehende Webseite?"]
    C --> DB[("Lead-Datenhaltung")]
    DB --> E["Bewertung<br/>Lohnt der Kontakt?"]
    E --> M["Ansprache<br/>Angebots-Mail"]
    E --> W["Website-Bau<br/>Vorlage + Inhalte + Design"]
    W --> G["GitHub-Repo anlegen"]
    G --> R["Railway-Deployment<br/>+ Domain"]
    UI["Flask-Dashboard"] --- DB
    UI --- W
Loading

Ehrlich eingeordnet: Die Idee trägt weiter als die Umsetzung. Bei 44.285 Zeilen stehen nur 258 Testfunktionen in vier Dateien, es gibt kein Docker-Setup und keine CI. Genau das ist die Baustelle, an der ich gerade arbeite.

44.285 Zeilen Python · 189 Module · 258 Commits

Repository


MEDIAPIPE WVM — KI-Video-Studio

Auftragsarbeit: aus einem Briefing entsteht ein Drehbuch, daraus werden Videoszenen erzeugt und anschließend in alle benötigten Ausgabeformate geschnitten. Ein Durchlauf, der vorher aus vielen Einzelwerkzeugen bestand.

flowchart LR
    A["Briefing<br/>Ziel · Zielgruppe · Ton"] --> B["Drehbuch<br/>Szene für Szene"]
    B --> C["Szenen-Erzeugung<br/>Video je Einstellung"]
    C --> Q["Warteschlange<br/>lange Renderjobs"]
    Q --> D["Montage<br/>ffmpeg · Schnitt · Ton"]
    D --> E["Ausgabeformate<br/>9:16 · 1:1 · 16:9"]
Loading

8.147 Zeilen Python · 181 Tests · Flask · ffmpeg · ausführlichste Dokumentation aller meiner Projekte

Repository


Luviq Universe — Onlineshop

Der Django-Shop hinter luviq-alsfeld.com. Die Views habe ich nachträglich von einer einzelnen Datei in ein Package nach Zuständigkeiten aufgeteilt — ab etwa tausend Zeilen war jede Änderung eine Sucherei geworden. Das ist die Lektion, die ich aus diesem Projekt mitgenommen habe.

flowchart LR
    A["Besucher"] --> B["Katalog<br/>Produkte · Detailseiten"]
    B --> C["Warenkorb<br/>Session"]
    C --> D["Checkout<br/>PayPal"]
    D --> E["Bestätigung<br/>Brevo-Mail"]
    K["Konto<br/>Registrierung + Verifizierung"] --> C
    B --- F[("Cloudinary<br/>Produktbilder")]
    L["Rechtstexte · sitemap.xml<br/>robots.txt"] --- B
Loading

Django 5 · PostgreSQL · PayPal · Cloudinary · Brevo · django-axes · Docker

Zur Seite · Repository


VintedBot — mein erster bezahlter Auftrag

Ein Discord-Bot, der Vinted-Suchen überwacht und Treffer meldet. Die erste Fassung steuerte einen echten Browser und brauchte rund 1,5 GB Arbeitsspeicher — zu viel für das Hosting-Paket. Ich habe den Browser entfernt und das HTML direkt geparst: Speicherbedarf unter 200 MB.

Das war mein erstes echtes Architektur-Problem. Nicht „funktioniert es?", sondern „funktioniert es unter den Bedingungen, die tatsächlich gelten?".

flowchart LR
    A["Suchen<br/>je Discord-Kanal"] --> B["Warteschlange<br/>asyncio · viele parallel"]
    B --> C["Abruf<br/>requests statt Browser"]
    P["Proxy-Rotation"] --> C
    C --> D{"Schon gesehen?"}
    D -->|nein| E["Discord-Benachrichtigung"]
    D -->|ja| X["verwerfen"]
    D <--> G[("MongoDB Atlas<br/>zustandslos")]
Loading

Python · asyncio · discord.py · MongoDB · Docker

Repository



Was schon vor der Ausbildung steht

Meine Ausbildung zum Fachinformatiker für Anwendungsentwicklung beginnt 2027. Einige Lernfelder decken sich bereits mit dem, was ich gebaut habe:

Bereich Belegt durch
Software modellieren und programmieren 15 Projekte, 170.668 Zeilen Python
Datenbanken anlegen und nutzen PostgreSQL, SQLite, Supabase inklusive Row-Level-Security
Anwendungen mit Schnittstellen Eigenes FastAPI-Backend, Anbindung mehrerer externer APIs
Qualitätssicherung und Testen 2.324 Testfunktionen — schwerpunktmäßig in zwei Projekten
Sicherheit TOTP-Zweifaktor, JWT mit Rotation, Rate-Limiting, RLS
Benutzeroberflächen Native Android-App, sieben produktive Weboberflächen
Kundenkommunikation Acht zahlende Kunden, Übergaben, laufende Betreuung
Netzwerke und Betriebssysteme Linux, Raspberry-Pi-Cluster, Deployment und Domainverwaltung

Was noch fehlt: strukturierte CI/CD über alle Projekte hinweg, Datenbank-Optimierung und Arbeit im Team mit Branches und Code-Reviews. Daran arbeite ich gezielt.


Woran ich gerade arbeite

  • LieferungDirekt zur Abnahme bringen
  • Testabdeckung und CI auf die älteren Projekte ausweiten — der größte Abstand zu sauberer Arbeit
  • ruff und Type-Hints als Standard in jedem neuen Projekt
  • Perspektivisch die Selbstständigkeit mit Webentwicklung und SEO

Kontakt

TikTok PyStore GitHub

Alle Kennzahlen auf dieser Seite sind gemessen: Codezeilen über find und wc ohne Fremdbibliotheken, Testfunktionen über def test_, Commits aus der Git-Historie, Seiten per HTTP-Abruf geprüft. Die Reichweiten-Zahlen stammen aus der TikTok-Statistik des Kanals, Stand August 2026.

Pinned Loading

  1. jarvis2 jarvis2 Public

    Lead-Pipeline und Website-Generator: Betriebe recherchieren, bewerten und komplette Django-Landingpages bauen und ausliefern (Python, Flask)

    Python

  2. mediapipe-wvm mediapipe-wvm Public

    MEDIAPIPE WVM - KI-Video-Studio: Briefing zu Drehbuch zu Higgsfield-Video zu allen Ausgabeformaten. Lokales Desktop-Werkzeug (Python/Flask).

    Python

  3. Tommy Tommy Public

    Mein erstes Programm auf GitHub (2019): ein Chatbot in Python

  4. VintedBot VintedBot Public

    Discord-Bot für Vinted-Suchbenachrichtigungen: asyncio, MongoDB Atlas, Proxy-Rotation, Docker — mein erster bezahlter Auftrag

    Python

  5. Webseitemitstripe Webseitemitstripe Public

    Luviq Universe — Onlineshop für handbemalte Second-Hand-Mode (Django 5, PayPal, Cloudinary, Brevo). Live auf luviq-alsfeld.com

    Python

  6. wvm-it wvm-it Public

    WVM-IT Premium-Landingpage (Django, Railway) - Webseiten, Hosting, KI, SEO

    Python