Zurück zu den Projekten

PROJEKT 01 · FALLSTUDIE

Automatisierte Reporting-Plattform

Bei Maxcess International habe ich mit Python, SQL, React und Supabase die Plattform gebaut, die pro Monat 110+ Management-Berichte für große Handelsketten im ganzen Land extrahiert, validiert und ausliefert, denn jeder Kunde brauchte sein eigenes Format, pünktlich und mit intakten Daten.

In 30 Sekunden

Warum

Bei Maxcess International habe ich Management-Berichte für große Handelsketten landesweit automatisiert, parametrisiert anhand von inVue, CrossPoint und Indyme, führend in der Sicherheitstechnik.

FÜR WENStrategisches Personal mit Sichtbarkeit auf Führungsebene und operative Rollen in den Handelsketten
ZIELWöchentliche, halbmonatliche und monatliche Management-Berichte mit Auditierbarkeit, Replizierbarkeit und Visualisierung: 110+ pro Monat

Was ich gebaut habe

  1. Quelle

    CSV-, JSON-, HTML- und TXT-Exporte der Plattformen inVue, CrossPoint und Indyme, je nach Geschäft und Handelskette unterschiedlich. Früher dauerte das von Hand Stunden; heute ruft Python sie ab.

  2. Modell

    Jede Kennzahl beginnt in einem Glossar, bevor sie zu Code wird. Ein kanonischer Datenvertrag und SQL-Workflows in Supabase und DuckDB decken 10+ Kunden- und Berechnungsvarianten ab und markieren unvollständige Daten.

  3. Ausgabe

    Eine monatliche Management-Präsentation als PPTX, ein detaillierter Analysebericht (RAD) als PDF und Word sowie HTML-Dashboards mit Zugang per QR-Code, auf einer Plattform mit Rollen je Kunde und 4.000+ Tests.

Tools

  • Python
  • SQL
  • DuckDB
  • Supabase
  • React
  • Azure SQL
  • Power Automate
  • Microsoft 365
  • Cloudflare
  • KI-Agenten

Repository

GitHub-Repository, Demnächst

Die vollständige Fallstudie

Wo es begann

Maxcess International bringt die führenden Technologien und Ökosysteme der Sicherheitsbranche für den Einzelhandel nach Mexiko: inVue, CrossPoint und Indyme. Ihre Systeme schützen Vitrinen, kontrollieren den Zugang zu Lagern und messen den Betrieb der Geschäfte in großen Handelsketten im ganzen Land.

Jedes Gerät hinterlässt eine Spur: Öffnungen, Zugriffe, Hinweise und Reaktionszeiten. Diese Spur ist etwas wert, wenn sie pünktlich und im Format des jeweiligen Kunden ankommt, und jeder Strategic Account Manager betreut seine Kunden nach einem eigenen Kalender: Berichte wöchentlich, alle 10 Tage, halbmonatlich und monatlich. Sie werden vom strategischen Personal mit Sichtbarkeit auf Führungsebene gelesen und von den operativen Rollen in jeder Handelskette.

Die Herausforderung

Die Daten lagen in der Plattform jeder Marke und wurden je Geschäft und je Handelskette in unterschiedlichen Exporten ausgegeben: CSV, JSON, HTML und TXT. Das Herunterladen, Bereinigen und Zusammenstellen jedes Berichts von Hand dauerte Stunden, und eine einzige falsche Zahl nahm dem ganzen Dokument die Glaubwürdigkeit.

Die Herausforderung war nicht ein Bericht, sondern 110+ pro Monat, mit 10+ Kundenvarianten und 10+ Berechnungsvarianten, ohne die Datenintegrität oder die Identität jedes Kunden zu verlieren.

Wie ich vorgegangen bin

Noch vor dem Code beginnt jede Kennzahl in einem Glossar: was sie misst, woher sie stammt und wie sie validiert wird. Die Bedarfsaufnahme mit jedem Strategic Account Manager, das Design und die Interaktivität jedes Formats werden als Spezifikationen festgehalten, bevor daraus SQL-Workflows oder Bildschirmansichten werden.

Ich habe in Schichten gebaut, lokal und mit Tests vom ersten Tag an. Ich steuere KI-Agenten mit definierten Rollen – Architektur, Frontend, Optimierung, Design und Qualitätskontrolle – und prüfe jede Lieferung anhand ihrer Spezifikation, bevor ich sie integriere.

End-to-End

Extraktion. Python-Skripte rufen die Exporte der Plattformen selbstständig ab – eine Arbeit, die früher manuell war und Stunden dauerte. In der Plattform nimmt der Data Funnel jede Datei entgegen, erkennt, zu welchem Kunden und Zeitraum sie gehört, entfernt Duplikate und erzeugt einen kanonischen Datensatz samt Qualitätsbericht.

Modell. Ein kanonischer Datenvertrag legt die Spalten fest, die jeder Batch enthalten muss. Die SQL-Engine läuft mit DuckDB im Browser und persistiert in Supabase auf PostgreSQL. Jeder Batch speichert seinen Fingerabdruck und die Version der Engine, die ihn berechnet hat, sodass sich jede Zahl bis zu ihrer Quelldatei zurückverfolgen lässt.

Ausgabe. Report Studio führt jede Lieferung durch sechs Schritte – Konfiguration, Datenladen, Kennzahlen, Inhalt, Vorschau und Export – und erzeugt drei Formate: die monatliche Management-Präsentation als PPTX, den detaillierten Analysebericht (RAD) als Word und PDF sowie ein interaktives HTML-Dashboard, das jeden Monat mit Zugang per QR-Code und sicherem Link veröffentlicht wird.

Was ich gebaut habe

Eine Plattform für mehrere Benutzer mit vier Rollen – Administrator, Strategic Account Manager, Support und Besucher –, in der jeder Kunde eine isolierte Umgebung ist: Jeder Strategic Account Manager sieht nur seine eigenen Kunden, und der Administrator prüft Benutzer und Aktivitäten.

  • Command Center: der Stand des Zyklus auf einem Bildschirm, mit einem Assistenten, der Fragen zu dem beantwortet, was Ihr Profil sehen kann.
  • Data Funnel: Laden, Erkennung, Zusammenführung und Validierung jedes Batches, mit Qualitätsbericht und Freigabe.
  • Report Studio: der Sechs-Schritte-Assistent, der jeden Bericht zusammenstellt, prüft und exportiert.
  • Interaktives Analyse-Dashboard: Überblick, kritische Ereignisse, Vorhängeschlösser, Vitrinen, Zonen, Aktivität nach Tag und Stunde sowie Anhänge, mit Filtern und Downloads als CSV, PPTX und RAD.
  • Status pro Filiale: Tage mit Daten, Verfügbarkeit und Ereignisampel jedes Batches.
  • Bauaufnahmen: ein maßstabsgetreuer Editor, um Vitrinen und Geräte im Grundriss jedes Geschäfts zu platzieren, mit Heatmaps je Gerät.
  • Logbuch, Task Manager und Zykluskalender: Befunde, Entscheidungen, Aufgaben und die Abschlüsse jedes Monats, verbunden mit Microsoft 365.
  • Daten-Repository und -Explorer, Dashboard Studio, Formate und Glossare, Referenzzentrum, Mein Fortschritt, Automatisierungen und Administration.

Woher ich weiß, dass eine Zahl stimmt

Vor der Auslieferung durchläuft jeder Bericht automatische Prüfungen: Jede Zahl im Text muss im Datenpaket vorkommen, jeder Name muss in den Katalogen stehen, und kein Hinweis darf offen bleiben. Das KI-gestützte Schreiben macht nur Vorschläge; besteht es diese Prüfungen nicht, greift der Bericht auf die deterministische Vorlage zurück und weist darauf hin.

Dahinter stehen 4.000+ automatisierte Tests, die bei jeder Änderung laufen, mit Vitest, Testing Library und Playwright.

Was sich geändert hat

110+ validierte, pünktliche Berichte pro Monat. Die Extraktion, die Stunden dauerte, läuft heute von selbst, und jeder Kunde erhält sein Format mit seiner Marke, seiner Typografie und seinen Diagrammen.

Die Formate kamen bei den Kunden gut an und eröffneten neue Einsatzmöglichkeiten: Heute lesen sie auch Operations-, Marketing- und weitere Teams in den Handelsketten. Das HTML-Dashboard ist der erste Schritt zum Quartals- und Jahresvergleich.

Was ich gelernt habe

Dass Integrität entworfen wird: Ein Glossar und ein Datenvertrag vor dem Code ersparen Wochen an Korrekturen. Und dass gutes Automatisieren nicht heißt, den Prozess zu verstecken, sondern zu zeigen, woher jede Zahl stammt.

Wie es weitergeht

Den Quartals- und Jahresvergleich ins Dashboard bringen, die parallel laufende Power-BI-Architektur integrieren und das Repository veröffentlichen, sobald es bereit ist.

End-to-End-Stack

  1. Extraktion und Quellen

    Die Exporte jeder Plattform abrufen und einlesen

    • Python
    • CSV
    • JSON
    • HTML
    • TXT
    • Excel
    • SheetJS (xlsx)
    • PapaParse
  2. Modell und SQL

    Kanonischer Datenvertrag, Berechnung und Speicherung

    • SQL
    • DuckDB-WASM
    • Apache Arrow
    • Supabase
    • PostgreSQL
    • Azure SQL
  3. Backend und Automatisierung

    Dienste, Workflows und Verbindungen

    • Supabase Auth und Storage
    • Serverless-Funktionen in Node.js
    • Power Automate
    • Microsoft 365
    • API-Schlüssel
  4. Frontend

    Die Plattform und ihre Module

    • React
    • JavaScript
    • Vite
    • React Router
    • Tailwind CSS
    • PostCSS
    • Lucide
  5. Visualisierung

    Diagramme, Karten und Dashboards

    • D3
    • Recharts
    • react-simple-maps
    • Matplotlib
    • squarify
  6. Dokumente und Ausgaben

    PPTX, RAD, HTML-Dashboard und Downloads

    • PptxGenJS
    • docx
    • jsPDF
    • html2canvas
    • PowerShell
    • JSZip
    • qrcode
  7. KI

    Assistent, Schreiben und gesteuerte Entwicklung

    • Sprachmodelle per API: Llama, GPT, Claude, DeepSeek und Gemini
    • KI-Agenten
    • Spec Driven Development
  8. Qualität

    Tests bei jeder Änderung

    • Vitest
    • Testing Library
    • jsdom
    • Playwright
    • jsQR
    • ESLint
    • Husky
    • GitHub Actions
  9. Bereitstellung

    Veröffentlichen und ausliefern

    • Vercel
    • Cloudflare Pages
    • Wrangler
    • GitHub

Screenshots · 21

Testdaten oder unkenntlich gemachte Daten: keine echten Kundenzahlen.