marcel_wagner ~/systems/portfolio
OPERATIONAL--:--:--
Marcel Wagner

Marcel Wagner
Softwareentwickler · Remshalden

Backends &
Schnittstellen.
Zwanzig Jahre Softwareentwicklung aus dem Remstal.

Gründlich, aber ohne Geschwätz — ich gehe direkt ins Doing.

Backends, die unter Last ruhig bleiben. Schnittstellen, die Daten zwischen Shop, ERP, PIM und Dritttools bewegen. Und in letzter Zeit immer öfter: KI, die im Betrieb wirklich etwas abnimmt.

Hauptberuflich Lead Developer bei von Affenfels — und das bleibt so. Diese Seite ist kein Dienstleistungsangebot: ich nehme keine Aufträge an. Sie zeigt, woran ich arbeite und wie — und sie ist eine offene Tür für alle, die fachlich reden wollen.

STATUS: OFFEN FÜR AUSTAUSCH
  • RolleLead Software Developer · Ausbilder (AEVO)
  • SchwerpunkteBackend · Systemintegration · E-Commerce · KI/RAG
  • Aufträgekeine (festangestellt, kein Nebengewerbe)
  • Gern reden überArchitektur · Schnittstellen · RAG im Betrieb
  • SprachenDeutsch · Englisch
  • Antwortmeist innerhalb von 48 h
→ Wie ich arbeite
20y
Im Feld
2005
Erste Zeile
3
Kern-Domänen
2×
Shop-Systeme tief
00

Über mich

whoami

Ich bin Marcel Wagner, Softwareentwickler aus Remshalden im Remstal. Mit 14 die erste Zeile Code geschrieben — und nie wieder aufgehört. Seit 2011 bei von Affenfels: reingekommen als Azubi, heute Lead Software Developer für den Bereich E-Commerce. Den Weg vom Anfänger zum Entwickler begleite ich inzwischen selbst — als Ausbilder.

Mein Zuhause ist die Schicht, in der Systeme zusammenlaufen: Backends, die unter Last ruhig bleiben, und Schnittstellen, die PIM, ERP, Shops und Dritttools sauber verbinden — durch eine davon sind über Jahre mehrere Tausend Bestellungen pro Jahr gewandert, in beide Richtungen. Zuletzt immer öfter: KI-Tools und RAG-Systeme, die Kundenprozesse spürbar verschlanken.

Meine Arbeitsweise ist unspektakulär: zuhören, verstehen, bauen. Ich diskutiere Lösungen nicht tot — ich liefere sie. Gründlich, wo es zählt. Direkt, immer.

Und wenn mich ein Problem privat packt, lasse ich genauso wenig locker: aus reiner Neugier habe ich über Jahre den Netzwerk-Traffic eines Online-Spiels ausgelesen — nur um zu sehen, was in den Langzeitdaten steckt.

01

Arbeitsweise

how i work
// 01 · WEB

Websites, die schnell bleiben

Eine Seite ist erst fertig, wenn sie auf einem alten Handy im Funkloch noch brauchbar ist. Alles andere ist ein Entwurf.

  • Gebaut statt aus dem Baukasten geklickt
  • Statisch ausliefern, wo nichts dynamisch sein muss
  • Struktur vor Effekt — auch für Suche und Sprachmodelle
  • Bilder und Requests zählen, nicht schätzen
  • Ohne CMS-Wartungslast übergeben, wenn es geht

Zu sehen an: RemsBIKE — 4×100 bei Lighthouse.

// 02 · DATEN

Schnittstellen, die halten

Mein Zuhause ist die Schicht, in der Systeme zusammenlaufen: Shop, ERP, PIM, CRM, Newsletter, Buchhaltung — und dazwischen die Wahrheit.

  • Ist-Zustand aufnehmen, Datenfelder abgleichen
  • Anbindungen bauen, in beide Richtungen
  • Fehlerfälle abfangen statt ignorieren
  • Monitoring, damit Stille nicht Erfolg bedeutet
  • Dokumentation, die ohne mich lesbar ist

Zu sehen an: Integrations-Hub — mehrere Tausend Bestellungen pro Jahr.

// 03 · URTEIL

Einschätzen statt raten

Der unterschätzte Teil der Arbeit: vor der ersten Zeile Code sagen können, was ein Vorhaben wirklich kostet — und was daran schiefgehen wird.

  • Anforderungen klären, bevor sie zu Tickets werden
  • Aufwand und Risiken benennen, nicht schätzen
  • Alternativen zeigen, auch die günstigeren
  • Zweite Meinung zu fremden Angeboten
  • Sparring und Mentoring für Entwickler

Grundlage: 20 Jahre im Betrieb · Ausbilder seit 2018 (AEVO).

SCHRITT 01Zuhören

Erst das Problem verstehen, nicht die gewünschte Lösung. Die meisten Fehlentscheidungen fallen hier.

SCHRITT 02Einschätzen

Was ich bauen würde, wie lange es dauert, was daran riskant ist. Schriftlich, damit man es festhalten kann.

SCHRITT 03Bauen

In Schritten, mit Zwischenständen zum Ansehen. Keine Blackbox über Wochen.

SCHRITT 04Übergeben

Zugänge und Doku gehören dem, der damit weiterlebt. Abhängigkeit vom Entwickler ist ein Bug, kein Feature.

Das hier ist Handschrift, kein Leistungsverzeichnis. Entstanden ist sie in zwanzig Jahren — hauptsächlich bei von Affenfels, dazu in Eigenprojekten und in dem, was ich nebenher für Leute aus meiner Umgebung gebaut habe. Ich bin festangestellt und nehme keine Aufträge an; diese Seite verkauft nichts.

// rückmeldung aus einem projekt
„Es gibt bestimmt viele Menschen, die die technischen Dinge genauso gut verstehen wie du. Aber deine besondere Stärke ist, dass du sehr schnell erkennst, was dein Gegenüber wirklich möchte und braucht. Genau das macht die Zusammenarbeit mit dir so angenehm."

— Murat, Inhaber von RemsBIKE, Remstal · nach dem Relaunch

→ Fachlich austauschen Keine Aufträge · für Fachfragen und Netzwerk jederzeit offen
02

Kompetenzen

status: all healthy
Backend PRIMARYONLINE
  • APIs & Domänenlogikcore
  • Systemarchitekturdesign
  • Datenmodelle & DBcore
  • Event / Messagingasync
  • Performance & Skalierungp99
  • Legacy-Modernisierungrefactor
KI / MLONLINE
  • RAG & Wissens-Assistentenprod
  • KI-Tools für Kundenprozesseauto
  • LLM-Integrationprod
  • Agenten & Automatisierungtools
  • Evaluation & Qualitätquality
E-Commerce & IntegrationONLINE
  • Shopwareaktuell
  • OXID eShopseit 2012
  • PIM / ERP-Anbindungdata
  • Middleware / Schnittstellenhub
  • CRM- & Newsletter-Syncsync
KundenberatungONLINE
  • Anforderungen klärendiscovery
  • Lösungsdesigndesign
  • Technische Beratungadvisory
  • Machbarkeit & Aufwandscope
  • Mentoring & AusbildungAEVO
Auch im RepertoireSUPPORTING
  • DevOpsCI/CD · Container · Observability
  • iOS / SwiftApp-Entwicklung
03

Event-Log

tail -f /career.log
2005BOOTErste Zeile Code mit 14 — System hochgefahren
2011-09JOINAusbildung zum Entwickler · von Affenfels GmbH
2012DEPLOYEinstieg E-Commerce mit OXID eShop — noch in der Ausbildung zertifiziert · Certified Engineer PE
2015-01PROMOJunior Software Developer · von Affenfels GmbH
2018-03PROMOLead Software Developer — Bereich E-Commerce (im Team) · von Affenfels · aktuell
2018-08CERTAusbildereignung (AEVO) bestanden — darf selbst ausbilden
2020MIGRATEUmstieg auf Shopware — größere Shops, mehr Last
heuteSHIPRemsBIKE — Website neu gebaut und live gestellt · remsbike.com
heuteSHIPUrlaub Smart — Planer für Brückentage in DACH · urlaub-smart.de
heuteBUILDSchwaben-Gaigel — Kartenspiel als Web-App im Aufbau · schwaben-gaigel.de
heuteBUILDPlauderbächle — Sprachförder-Plattform mit Aylin im Aufbau · plauderbaechle.de
heuteSHIPBodenampel — Bodentemperatur je Postleitzahl aus DWD-Daten · bodenampel.de
heuteSHIPUnarrow — Pfeilrätsel auf 3D-Körpern für iPhone und iPad · jetzt im App Store
heuteBETABytedoku — Binär-Sudoku mit XOR, AND und OR; iOS in der Prüfung, Android-Tester gesucht · bytedoku.marcel-wagner.dev
heuteBETAFenliloop — Pixelmuster zum Häkeln für iPhone, iPad und Apple Watch; Beta über TestFlight · fenliloop.marcel-wagner.dev
heuteRUNAktuell firmenübergreifend: interne & KI-Themen bei Kunden
04

Deployments

Herkunft je Karte markiert
Startseite von remsbike.com: Hero mit Mountainbike, Telefon- und WhatsApp-Buttons remsbike.com ↗
100Performance100A11y100Best Practices100SEO3/3Agentic Browsing
Lighthouse · Startseite: 14 Requests, ~400 KB
▲ web · seo/geo · relaunchFür Dritte gebaut

RemsBIKE — Relaunch von Grund auf

remsbike.com ↗

Fahrradladen im Remstal. Vorher eine zusammengesteckte WordPress-Seite: kaputte Links, unsaubere Grafiken, im Google-Index standen Lorem-ipsum-Snippets. Komplett neu gebaut — statisch mit Astro, sechs Seiten, Bilder in WebP, dazu zwei kleine JS-Inseln für das, was wirklich dynamisch sein muss (u. a. der Live-Öffnungsstatus). Struktur für Suche und für Sprachmodelle: Schema.org-Markup (BicycleStore) mit Öffnungszeiten und Geo-Daten, eine llms.txt als Kurzfassung der Seite. Für einen echten Laden gebaut, unentgeltlich — vom Inhaber zur Veröffentlichung freigegeben.

vorherWordPress-Flickwerk · kaputte Links · Lorem ipsum im Google-Index
nachherstatisch ausgeliefert · kein CMS, keine Plugin-Updates · Telefon, WhatsApp und Route in einem Griff
AstroStatic SiteSchema.orgllms.txtCore Web VitalsWebP
Regionsseite „Brückentage Baden-Württemberg 2027 urlaub-smart.de ↗
3Länder51Regionen4Strategien115Seiten
Next.js · vorgerenderte Regionsseiten je Jahr · self-hosted
▲ webEigenprojekt

Urlaub Smart — Planer für Brückentage

urlaub-smart.de ↗

Eigene Seite: Region und Urlaubstage eingeben, und der Planer rechnet aus, welche Tage die längsten freien Blöcke ergeben — wahlweise auf maximale Freizeit, Schulferien, günstige Reisezeit oder lange Auszeiten optimiert, mit Export als ICS oder zum Ausdrucken als PDF. Deutschland, Österreich und die Schweiz mit 51 Regionen, dazu für jede Region und jedes Jahr eine eigene vorgerenderte Seite. Eigenprojekt.

Next.jsSelf-hostedStatic RenderingKalenderlogikICS / PDF-Export
Bodenampel für die Postleitzahl 73630 Remshalden: 15,6 °C in 5 cm Tiefe, Verlaufskurve der letzten sieben Tage und eine Liste von Gartenarbeiten mit den Markierungen „Passtbodenampel.de ↗▲ web · open dataEigenprojekt

Bodenampel — säen, wenn der Boden warm genug ist

bodenampel.de ↗

Postleitzahl eingeben, und die Seite holt die Bodentemperatur in 5 cm Tiefe von der nächsten Station des Deutschen Wetterdiensts — mit dem Verlauf der letzten Woche und der Entfernung zur Station. Daraus wird eine Ampel für sechs Gartenarbeiten: Rasen säen, nachsäen, vertikutieren, Kartoffeln setzen, erster Rasenschnitt, Bohnen legen. Jede davon hat eine eigene Seite. Astro, statisch ausgeliefert, Daten aus DWD OpenData und GeoNames — kein Login, keine Cookies. Eigenprojekt.

AstroStatic SiteDWD OpenDataGeoNamesOhne Cookies
Unarrow, Level 29: ein leuchtender türkiser Würfel, auf dessen Flächen verschlungene Pfeilbahnen liegenUnarrow, Level 31: eine pinke Pyramide mit Pfeilbahnen auf den SeitenflächenUnarrow, Level 35: ein goldener Ikosaeder, jede der dreieckigen Flächen voller Pfeile/unarrow →▲ app · ios · spielEigenprojekt

Unarrow — Pfeilrätsel auf 3D-Körpern

im App Store ↗

Ein Knobelspiel für iPhone und iPad: Pfeilbahnen liegen auf den Flächen dreidimensionaler Körper, vom Tetraeder über Würfel und Oktaeder bis zum Ikosaeder. Den Körper drehen, die Pfeile auflösen — sieben Formen pro Runde, drei Leben, Sterne und Combos. Erfolge und Bestenlisten über Game Center, der Spielstand wandert per iCloud mit. Keine Werbung, kein Tracking. Eigenprojekt · Support & Datenschutz.

SwiftiOS / iPadOS 18Game CenteriCloud-SyncOhne Tracking
Bytedoku, Level 1: ein 4×4-Feld mit XOR-Käfigen, doppelte Zweien rot unterkringelt, darunter fehlschlagende Tests wie rows.unique() und ein Pager von dreienBytedoku-Tutorial: XOR Bit für Bit erklärt, 10 ^ 11 ergibt 01, mit Rechnung in grünen FeldernBytedoku-Postmortem nach Level 1: Timeline mit drei Pagern, Root Cause und drei Action Itemsbytedoku.marcel-wagner.dev ↗▲ app · ios · android · spielEigenprojektbeta

Bytedoku — Sudoku für Leute, die in Bits denken

Android-Tester gesucht ↗

Sudoku-Regeln wie immer, aber die Käfige wollen keine Summen, sondern XOR, AND und OR — von 4×4 mit den Werten 0–3 bis 8×8 mit genau drei Bit. Statt einer Prüfung laufen Tests, statt Leben gibt es Pager, und nach dem dritten ist Incident samt Postmortem. Dazu Bit-Notizen, Rubber-Duck-Hinweise und „git revert“; jedes Level entsteht aus seiner Nummer und hat genau eine Lösung. Eigenprojekt · iOS liegt bei Apple in der Prüfung, für Android suche ich dringend Tester: Google-Gruppe beitreten, dann als Tester anmelden und Bytedoku aus Google Play installieren — mit demselben Google-Konto wie auf dem Gerät. Ohne Google-Konto: kurz schreiben · Produktseite.

iOS / iPadOSAndroidOfflineOhne KontoDE / EN
Fenliloop, neues Projekt aus einer Vorlage: Herzen, Stern, Katze, Hund und Wolf als PixelbilderFenliloop-Editor in der Maschenansicht: ein Wolfskopf aus 26 × 26 Maschen, jede als kleines V in Wollbeige, Creme und WalnussbraunFenliloop-Häkelmodus bei Reihe 12 von 26: Leserichtung, Farbabschnitte und ein Maschenzählerfenliloop.marcel-wagner.dev ↗▲ app · ios · watchosEigenprojektbeta

Fenliloop — Pixelmuster zum Häkeln

Beta über TestFlight ✉

Aus einem Foto, einer von 14 Vorlagen oder von Hand entsteht ein Pixelmuster, das die App auf die eigene Maschenprobe umrechnet. Die Maschenansicht zeigt jede Masche als kleines V, so wie sie später im Garn liegt. Beim Häkeln führt sie Reihe für Reihe durch, mit Farbabschnitten und Maschenzähler, auf dem Sperrbildschirm als Live-Aktivität und auf der Apple Watch per Digital Crown. Dazu Größenrechner, Garnbedarf und PDF-Anleitung. Kein Konto, keine Werbung, kein Tracking. Eigenprojekt · erscheint zuerst als Beta über TestFlight: einfach kurz schreiben · Produktseite.

iOS / iPadOSwatchOSLive ActivitiesOfflineDE / EN
Startbildschirm von schwaben-gaigel.de: Holzschild „Gaigel“ auf grünem Filz, darunter die Einstiege „Allein am Tisch“ und „Am Stammtisch“schwaben-gaigel.de ↗▲ web · spielEigenprojektin aufbau

Schwaben-Gaigel — Kartenspiel im Browser

schwaben-gaigel.de ↗

Das schwäbische Kartenspiel als Web-App: allein gegen drei Bots oder am Stammtisch mit anderen, per Link eingeladen und ohne Konto. React auf Vite, Mehrspieler über WebSocket, als PWA installierbar — die Solo-Partie läuft auch ohne Netz. Eigenprojekt · steckt noch im Aufbau.

ReactVitePWAWebSocketBot-Gegner
Logo von Plauderbächle: eine singende Bachstelze am Bach▲ web · produktEigenprojektin aufbau

Plauderbächle — Sprachförderung zum Ausdrucken

plauderbaechle.de ↗

Gemeinsames Projekt mit meiner Frau Aylin, Heilerziehungspflegerin mit Schwerpunkt Sprachförderung: druckfertige Bildkarten, Reimspiele und Erzählketten für Kinder von 2 bis 6, abgestimmt auf den Entwicklungsstand — gedacht für die Monate, in denen Familien auf einen Logopädie-Termin warten. Sie bringt die Didaktik, ich die Technik. Landingpage mit Warteliste steht, die Plattform dahinter entsteht.

Next.jsLandingpageWartelistePDF-Generierung
▲ backend · integrationAngestellt

Integrations-Hub @ von Affenfels

Zentrale Schnittstelle zwischen den Systemen: Daten aus PIM/ERP umformen und in die Shops spielen — und wo es kein fertiges Plugin gab, Daten passend aufbereiten und an CRM-, Newsletter- oder Drittsysteme weitergeben. Ein Hub, der die Systeme in beide Richtungen verbindet. Geschäftlich · nicht öffentlich.

→ Mehrere Tausend Bestellungen & Kunden pro Jahr — bidirektional durch die Schnittstelle.

PHPMiddlewarePIM / ERPRESTDatenmapping
▲ ki · beratungAngestellt

KI-Tools & RAG für Kunden

RAG-Systeme und maßgeschneiderte KI-Tools, die Kundenprozesse spürbar vereinfachen — von der Beratung über den Aufbau bis in den produktiven Betrieb.

RAGLLMPythonVektor-DBFastAPI
▲ e-commerce · backendAngestellt

Shop-Plattform @ von Affenfels

Betrieb und Weiterentwicklung von Shop-Systemen — von OXID eShop bis Shopware, inklusive Migration, Performance unter Last sowie Payment- und ERP-Schnittstellen. Geschäftlich · nicht öffentlich.

ShopwareOXIDPHPMySQLSchnittstellen
▲ backend · datenanalyseEigenprojekt

Forge of Empires — Langzeit-Analyse

Über mehrere Jahre gebautes Tool, das den XHR-Netzwerkverkehr des Spiels ausliest, die Rohdaten strukturiert und die Spielerstatistik über lange Zeiträume auswertet. Reverse Engineering, Datenpipeline und Auswertung in einem. Eigenprojekt · nicht öffentlich · aus Zeitmangel eingestellt.

→ Rund 4.000 Gilden mit ihren Spielern erfasst · ca. 20.000 Aufrufe pro Monat.

XHR / JSONReverse EngineeringDatenpipelineZeitreihenStatistik
05

Zertifikate

10 Nachweise · verified
✓
OXID eShop Certified Engineer PEOXID eSales · 2012
✓
Ausbildereignung (AEVO)IHK · Aug. 2018 · Ausbildungsberechtigung
Shopware 6 — 6× zertifiziert
Solution ArchitectAdvanced DeveloperBackend DeveloperAdvanced Template DesignerFrontend DeveloperPaaS Specialist
✓
Model Context Protocol für Führungskräfte: Generative AI-AgentenVanderbilt University · Feb. 2026Nachweis-ID OJHBKHH607T3
✓
Terraform in AWS: Basics to Guru · Unit 1Pearson · Apr. 2026Nachweis-ID VI83T38CHU6W
→
Alle Nachweiseauf LinkedIn ansehen
06

API

für die, die lieber curl sprechen
$ curl -s https://marcel-wagner.dev/api/profile
HTTP/2 200 · content-type: application/json{
  "name": "Marcel Wagner",
  "role": "Lead Software Developer",
  "coding_since": 2005,
  "core": ["backend", "systemintegration", "e-commerce", "ki"],
  "currently": "KI-Tools & RAG für Kundenprozesse",
  "style": "gründlich, direkt ins Doing",
  "location": "Remshalden, DE",
  "accepting_work": false,
  "open_to_talk": true,
  "contact": "info@marcel-wagner.dev",
  "profiles": {
    "linkedin": "https://www.linkedin.com/in/marcel-wagner-22616a1bb",
    "github": "https://github.com/Marcel-Wagner",
    "youtube": "https://www.youtube.com/@marcelwagner_dev",
    "instagram": "https://www.instagram.com/marcelwagnerdev",
    "tiktok": "https://www.tiktok.com/@marcelwagnerdev"
  },
  "_links": {
    "self": "/api/profile",
    "certifications": "/api/certifications",
    "projects": "/api/projects"
  }
}
↳ die _links-Pfade sind klickbar — folge z. B. _links.certifications für alle 10 Nachweise oder _links.projects für die Projekte
// open connection

Verbindung aufbauen.

Fachfrage, zweite Meinung, gemeinsames Vorhaben oder einfach ein Gespräch unter Entwicklern — schreib mir. Aufträge kann ich nicht annehmen, über die Sache reden immer.

auch auf YouTube · Instagram · TikTok

Marcel Wagner · Remshalden  —  Antwort meist innerhalb 48 h  —  Deutsch · Englisch