Discovery & Datenmodell
Audit des stationären Betriebs, filialspezifisches Bestandsmodell, Customer Journey für Eltern im DACH-Raum und EU, DSGVO-Scoping, App-Store- und Google-Play-Einreichungsplanung.
Fallstudie · Einzelhandel · E-Commerce
Wie wir einen nativen Swift- + Kotlin-Marktplatz für eine stationäre Kinderwaren-Kette entwickelt haben — mit reibungsloser Registrierung, intelligentem Katalog mit flexibler Suche, Zwei-Tipp-Checkout, einem Admin-Panel für das Betriebsteam und einer bidirektionalen Bestandssynchronisation, die Online- und Offline-Lager ohne manuellen Aufwand synchron hält. Vollständig DSGVO-konform für den europäischen Markt, maßgeschneiderte Softwareentwicklung im DACH-Raum.
Das Malish-Team kam mit einer erfolgreichen stationären Kinderwaren-Kette zu uns und einem klaren digitalen Ziel: das Sortiment online bringen, ohne Eltern zu zwingen, mit Kindern in den Laden zu fahren, und die Nachfrage über den Einzugsbereich jedes Standorts hinaus erschließen. Die Einschränkung war keine Wunschvorstellung, sondern operationell. Der stationäre Lagerbetrieb funktioniert, das Filialpersonal kennt den Katalog, und der Wettbewerbsvorteil der Kette liegt in der Sortimentspflege, die ihren Ruf begründet hat. Die digitale Oberfläche musste diesen Betrieb erweitern, nicht ersetzen — und durfte keinen Lagerbestandskonflikt einführen, der das Kundenvertrauen in beide Richtungen beschädigt. Das Käuferprofil entspricht dem für ähnliche Ketten im DACH-Raum und in ganz Europa: Eltern, die abends am Smartphone recherchieren, eine zuverlässige Bestandsgenauigkeit erwarten und einen Wiederkauf in unter 30 Sekunden abschließen, wenn das Produkt bekannt ist. SaaS-Marktplatzplattformen wurden ausgeschlossen, weil ihre herstellerdefinierten Bestandsregeln und Integrationsbeschränkungen der eigenen Sortimentslogik der Kette entgegenstehen. Ein Flutter-MVP wurde erwogen und zurückgestellt, weil die Retail-Qualität — systemtypische Haptik, zuverlässige Barrierefreiheit, plattformtypisches Verhalten — genau dort liegt, wo ein Käufer von Kinderwaren den Unterschied bemerkt, und das Vertrauenspremium in dieser Kategorie ein artifizielles UI nicht überlebt. Das Ergebnis ist ein nativer Swift-iOS-Client, ein nativer Kotlin-Android-Client, ein Symfony-Backend mit React-Admin-Panel, ElasticSearch-gesteuertem Katalog, bidirektionaler Bestandssynchronisation mit den Offline-Filialen und integrierter Lieferung — von Anfang an konzipiert für den europäischen Markt unter DSGVO-Anforderungen.
Eine Momentaufnahme dessen, was die Malish-Entwicklung über nativen iOS-, nativen Android-, Symfony-Admin- und Multi-Store-Bestandssynchronisation im ersten Produktionszyklus geliefert hat.

Die Plattformentscheidung dominiert jede andere Architekturwahl in einem Einzelhandels-Marktplatz, wo das Käufervertrauen das Produkt ist. Wir entschieden uns für natives Swift auf iOS und Kotlin auf Android gegenüber Flutter und SaaS-Marktplatzplattformen, weil die Kompromisse sauber mit dem Wettbewerbsvorteil der Kette übereinstimmen. Natives Swift und Kotlin liefern das plattformtypische Feeling, das ein Einzelhandelskaüfer bei den ersten drei Tipps bemerkt — präzises haptisches Feedback, systemtypische Navigation, zuverlässige Barrierefreiheit und ein Kaufflow, der sich von den anderen Commerce-Apps des Käufers nicht unterscheidet. Flutter ist eine legitime Alternative, wenn die Marke bewusst ein leicht artifizielles UI akzeptiert und die Single-Codebase-Geschwindigkeit vor Retail-Qualität stellt; für eine Kinderwaren-Kette, deren Vertrauenspremium diesen Kompromiss nicht überlebt, gewinnt native.
SaaS-Marktplatzplattformen wurden ausgeschieden, weil ihre herstellerdefinierten Bestandsregeln und Integrationsbeschränkungen der eigenen Sortimentslogik der Kette und der Multi-Store-Bestandsausrichtung, die der Betrieb bereits durchführt, entgegenstehen. Eine Shopify-plus-Custom-Mobile-Wrapper-Option wurde erwogen und zurückgestellt, weil sich die Lock-in-Fläche vergrößert — Zahlungsanbieter, Theme, Bestandsmodell, App-Extension-Limits — und der Wettbewerbsgraben der Kette genau die Sortimentspflege ist, die ein Template-Marktplatz einebnet. Der gesamte Stack — Swift, Kotlin, Symfony, React Admin, ElasticSearch, PostgreSQL, Redis — ist durchgängig offen und zitierbar, ohne proprietäre Plattform, die das Betriebsteam an einen einzigen Anbieter bindet.
| Kriterium | Nativ (Malish) | Flutter | SaaS-Marktplatzplattform |
|---|---|---|---|
| Native Qualität | Plattformtypisch — Haptik, Navigation, Barrierefreiheit | Nahe dran, aber artifizielles UI-Risiko im Retail | Herstellerdefiniert; je nach Template variierend |
| Bestandssync-Flexibilität | Eigener Symfony-Konnektor je Filiale | Eigener — dasselbe Symfony-Backend | Herstellerkonnektor; begrenzte Erweiterung |
| Multi-Store-Eignung | Filialspezifische Verfügbarkeit im Katalog | Möglich; gleiches Backend | Herstellereigenes Multi-Store-Modell — meinungsbildend |
| Marktplatz-SaaS-Lock-in | Keiner — vollständig eigener Stack | Keiner — vollständig eigener Stack | Hoch — Zahlung, Theme, Bestand |
| Zeit bis zum Launch | 14–22 Wochen für MVP | 10–18 Wochen — Single Codebase | 4–10 Wochen — templategesteuert |
| App Store / Play Store-Eignung | Erstklassige native Binaries | Akzeptabel; Prüfmuster bekannt | Herstellereigene App — Branded Shell |
| Compliance (EU / DACH) | Eigene — DSGVO von Anfang an eingebaut | Eigene — gleiche Ausrichtung | Herstellerkontrolliert — regional variierend |
Plattform-Referenzen: Apple Swift-Dokumentation, Kotlin-Dokumentation, Symfony-Dokumentation.

Der iOS-Client ist in Swift mit einem UIKit-plus-SwiftUI-Hybrid entwickelt — für Bildschirme, bei denen SwiftUIs Geschwindigkeit hilft und UIKits Zuverlässigkeit wichtig ist. Die gesamte nutzerseitige Oberfläche ist um einen intelligenten Katalog mit ElasticSearch-gestützter flexibler Suche aufgebaut — nach Marke, Kategorie, Altersbereich, Größe, Filiale und Freitextbegriffen, die Eltern tatsächlich verwenden — sowie um einen Zwei-Tipp-Checkout, der den Wiederkäufer-Flow auf die kleinstmögliche glaubwürdige Fläche reduziert. Ein Tipp bestätigt den Warenkorb mit der Standard-Lieferadresse und der hinterlegten Zahlungsmethode; der zweite Tipp gibt die Bestellung mit einem abschließenden Prüfungsschritt auf. Apple Pay und gespeicherte Karten befüllen die Zahlungsoberfläche vor; die Adressvervollständigung befüllt die Lieferoberfläche.
Die Registrierung ist von Natur aus reibungslos — ein Elternteil mit einem Kleinkind auf der Hüfte hat keine Geduld für ein mehrseitiges Onboarding. Die Filialauswahl beim ersten Start ist standortbewusst mit manueller Überschreibungsmöglichkeit; nachfolgende Starts wählen standardmäßig die zuletzt gewählte Filiale. Push-Benachrichtigungen für Aktionen, Bestellstatus und Abholbereitschaft laufen über den Apple Push Notification Service mit ausdrücklicher Einwilligung bei der ersten Autorisierung. Die iOS-Oberfläche wird im Rahmen unserer Mobile-App-Entwicklung geliefert und teilt ihr Designsystem mit dem Android-Client über eine gemeinsame Design-Tokens-Spezifikation statt einer gemeinsamen Codebase.

Der Android-Client ist in Kotlin mit Jetpack Compose für die UI-Schicht geschrieben und verwendet denselben ElasticSearch-gestützten Katalog wie der iOS-Client. Der Katalog berechnet die Verfügbarkeit je Filiale statt einer einzigen filialübergreifenden Zahl, sodass ein Käufer, der in der Filiale abholt, den Bestand genau dieser Filiale sieht, und ein Lieferkäufer den Bestand der nächstgelegenen erfüllenden Filiale sieht. Die Multi-Store-Eignung war die dominierende Designbeschränkung — eine Kinderwaren-Kette, deren Filialen überlappende, aber nicht identische Sortimente führen, kann mit einer einzigen filialübergreifenden Bestandszahl, die den Käufer in beide Richtungen belügt, nicht überleben.
Hinter dem Katalog verwaltet die Bestellworkflow-Engine auf dem Symfony-Backend Zustandsübergänge — aufgegeben, kommissioniert, bereit, versendet, geliefert — mit Webhook-Ereignissen an die Mitarbeiterterminals der Offline-Filialen und Push-Benachrichtigungen an den Käufer. Google Play Billing verwaltet alle In-App-Käufe; die Lieferanbieter-API-Integration übernimmt die Kurierübergabe, sodass die Kette Kuriere nicht manuell koordinieren muss. Dasselbe Entwicklungsteam betreut iOS und Android gleichzeitig im Rahmen unserer iOS- und Android-Entwicklung, und das React-Admin-Panel — eine separate, aber gemeinsam gestaltete Oberfläche — befindet sich im selben Symfony-Deployment für das Betriebsteam.

Malischs Datenschutzkonzept war eine Architekturentscheidung, bevor es ein Banner wurde. Personenbezogene Daten auf den mobilen Clients sind auf das für Checkout, Lieferung und Wiederkauf Notwendige beschränkt; das Datenmodell kodiert Aufbewahrungsfristen je Entität, sodass ein abgeschlossener Bestelldatensatz planmäßig gelöscht wird statt sich unbegrenzt anzuhäufen. Kinderdaten werden bewusst nicht erhoben — der Käufer ist die Mutter oder der Vater, der Katalog ist für Kinderprodukte, aber die App fragt keine kinderbezogenen Informationen über einen generischen Altersbereichsfilter im Katalog hinaus ab.
Die bidirektionale Bestandssynchronisation ist das operative Rückgrat. Jede Offline-Filiale verfügt über einen typisierten Konnektor, der bei Bestandsänderungen — Verkäufe, Nachlieferungen, manuelle Korrekturen — Webhook-Updates auslöst, das Symfony-Backend nimmt diese auf, gleicht sie ab und propagiert sie in den mobilen Katalog. Das Abgleichungsprotokoll ist im React-Admin-Panel verfügbar, sodass ein Mitarbeiter eine Abweichung in Minuten debuggen kann statt zwei Systeme manuell abzugleichen. Zugriffsprotokolle sind strukturiert und werden rotiert; jede Katalogänderung, jeder Bestellzustandsübergang und jede Einwilligungsentscheidung wird mit einem unveränderlichen Prüfpfad aufgezeichnet. Das Konzept ist ausgelegt auf die Einhaltung der DSGVO-Pflichten für Nutzer in der Europäischen Union und des BSI-Grundschutzes für deutschsprachige Unternehmen.
Compliance-Status: DSGVO-konform · BSI Grundschutz-orientiert · ISO 27001 bereit · SOC 2 Typ II in Vorbereitung · HIPAA-fähig.
Ein fünfphasiges Entwicklungsprojekt, das Malish von einer rein stationären Einzelhandelskette zu einem nativen iOS- + Android-Marktplatz mit Multi-Store-Bestandssynchronisation und integrierter Lieferung gebracht hat.
Audit des stationären Betriebs, filialspezifisches Bestandsmodell, Customer Journey für Eltern im DACH-Raum und EU, DSGVO-Scoping, App-Store- und Google-Play-Einreichungsplanung.
Symfony-Gerüst, typisierte REST API, ElasticSearch-Katalog, filialspezifisches Verfügbarkeitsmodell, Bestellworkflow-Engine, Redis-Cache, Bestandssynchronisations-Skelett.
Swift-iOS-Client und Kotlin-Android-Client gleichzeitig entwickelt, intelligente Katalog-UX, Zwei-Tipp-Checkout, Push-Benachrichtigungen, Apple Pay und Google Play Billing-Integration.
React-Admin-Panel mit rollenbasiertem Zugriff, Bestellübersicht, Lieferanbieter-API-Integration, Abgleichungsprotokoll, prüfungsfähige Härtung, Drittpartei-Bereitschaftsgerüst.
App-Store- + Google-Play-Einreichung für europäische Storefronts, Rollout der Bestandskonnektoren in Offline-Filialen, Onboarding des Betriebsteams, Analytics-Dashboards.
Malischs Bestellworkflow ist der Teil der Entwicklung, der sich operationell vervielfacht. Das Symfony-Backend hostet eine Workflow-Engine, die Bestellungen durch die Zustände aufgegeben, kommissioniert, bereit, versendet und geliefert treibt — mit expliziten Übergangsschutzmaßnahmen und Webhook-Fan-out an die Mitarbeiterterminals der Offline-Filialen und den Push-Kanal des Käufers. Die Lieferanbieter-API-Integration übernimmt die Kurierübergabe: Wenn eine Bestellung den Zustand "bereit" erreicht, fordert das Backend einen Kurier vom integrierten Anbieter an, übergibt das Adress-Payload und wartet auf Statusaktualisierungen, die nahezu in Echtzeit an den Käufer weitergeleitet werden. Nachnahme und Kartenzahlung bei Lieferung werden neben der In-App-Zahlung für Käuferprofile unterstützt, bei denen diese Wahl noch relevant ist. Das React-Admin-Panel umhüllt den Workflow mit einem rollenbasierten Zugriffsmodell — Filialassistent, Filialleiter, zentrale Ops, Finanzen — und einem Prüfpfad, der Teamwechsel überlebt. Flexibles Produkt- und Kategoriemanagement ermöglicht es dem Geschäftsteam, eine Marke, eine Kategorie, einen Altersbereich oder eine Saisonskollektion hinzuzufügen, ohne einen Entwickler einzubeziehen; dieselbe Admin-Oberfläche trägt Werbekampagnen, Banner-Planung und die CRM-ähnliche Käuferansicht, die das Betriebsteam für die Wiederholungskauf-Ansprache nutzt. Das Hinzufügen einer neuen Filiale zur Kette ist eine einseitige Konfigurationsänderung am selben Admin-Panel: eine Zeile, ein Bestandskonnektor, ein Lieferzonenpolygon — und die Filiale erscheint im Multi-Store-Katalog ohne einen neuen Deployment-Vorgang.
Malish wurde im Apple App Store und Google Play mit aktiven Storefronts für Einzelhandelsketten gestartet, die in den Online-Handel einsteigen. Dieselbe Architektur bedient eine Multi-Store-Kinderwaren-Kette in Deutschland, Österreich, der Schweiz, den Niederlanden, Frankreich, Irland oder Schweden ohne länderspezifische Codebase-Forks. Einwilligungsflüsse sind auf Client-Ebene regionsabhängig: Käufer aus der EU und dem EWR erhalten einen DSGVO-konformen detaillierten Einwilligungsbildschirm mit separaten Schaltern für optionale Produktanalysen. Die Datenverarbeitungspraktiken sind vollständig auf die DSGVO für europäische Nutzer ausgerichtet; das Datenmodell minimiert personenbezogene Daten von Natur aus und erhebt ausdrücklich keine kinderbezogenen Informationen, sodass die regionale Compliance auf ehrliche Offenlegung und einen sauberen Einwilligungsflow reduziert wird statt auf jurisdiktionsspezifische Datentrennung.
Die Infrastruktur wurde parallel über EU-Regionen ausgerollt — Niederlande, Deutschland, Frankreich, Schweden und Irland für EU-Abdeckung — sodass die Apps beide Märkte von Anfang an mit geringer Latenz bedienen. Sowohl die App-Store-Alterseinstufung als auch die Google-Play-Inhaltsbewertung wurden für das Kinderwaren-Einzelhandels-Feature-Set kalibriert, und die In-App-Datenschutzrichtlinie wurde erstellt, um die obige Architektur zu dokumentieren und die DSGVO-Pflichten direkt anzuführen. Das Entwicklungsteam hinter diesem Projekt arbeitet nach mitteleuropäischer Zeit (MEZ) und bietet eine tägliche Überschneidung mit der US-Ostküste (9–13 Uhr ET) für Stand-ups, Store-Review-Choreographie und Incident Response. Der Marktplatz bedient europäische Märkte als einheitliche Oberfläche — ideal für digitale Transformation im DACH-Raum.
Die aktive maßgeschneiderte Softwareentwicklungs-Roadmap für Malish umfasst ein Treueprogramm-Subsystem mit filialspezifischer Staffelung und einer elternorientierten Prämien-Wallet, eine Filialsuche mit Echtzeit-Öffnungszeiten und Abholzeitfenster-Buchung, ein erweitertes Lieferzonenmodell für filialübergreifende Erfüllung und eine Großhandelsstufe für B2B-Kunden im DACH-Kinderpflegesegment. Eine Web-Begleitoberfläche ist als Phase-zwei-Erweiterung geplant — sie teilt das Symfony-Backend und die Design-Tokens-Spezifikation mit den nativen Clients — um Desktop-Recherche-Traffic zu erfassen, ohne Eltern vom Mobilgerät zu drängen. Infrastrukturpläne umfassen weitere Automatisierung des Abgleichungsprotokolls, einen internen Bestandsabweichungs-Alarmmechanismus und eine künftige unabhängige Bereitschaftsbewertung, eingebettet in die Cloud & DevOps-Roadmap.
Wenn Sie einen nativen iOS- + Android-Marktplatz planen, eine Multi-Store-Einzelhandelskette in den Online-Handel führen oder ein Consumer-Retail-Produkt entwickeln möchten, bei dem Bestandssynchronisation und Plattformqualität für deutschsprachige Unternehmen im DACH-Raum gleichzeitig stimmen müssen — wir haben diesen Stack vollständig ausgeliefert und können den Entwicklungszeitraum erheblich verkürzen. Das Entwicklungsteam dahinter ist Teil von YuSMP Group. Wir arbeiten zum Festpreis für klar umrissene MVPs und in dedizierten Entwicklungsteams für die laufende Lieferung, mit MEZ-Arbeitstag und garantiertem Überlappungsfenster mit der US-Ostküste (9–13 Uhr ET) für Stand-ups, Demos und Incident Response.
Ein nativer iOS- und Android-Marktplatz mit Symfony-Backend, ElasticSearch-Katalog, Zwei-Tipp-Checkout und einem einfachen Admin-Panel kostet für ein MVP typischerweise 130.000–290.000 EUR. Mit bidirektionaler Bestandssynchronisation mit den Offline-Filialen, Lieferdienstintegration, rollenbasiertem Zugriff, ElasticSearch-gestützter flexibler Suche und einer CRM-tauglichen Admin-Konsole belauft sich ein vollständiges Produkt auf 330.000–620.000 EUR. Die wesentlichen Kostentreiber sind die Bestandssynchronisationsschicht, die Multi-Store-Kataloglogik sowie die Einreichung und Prüfung im App Store und Google Play.
Natives Swift auf iOS und Kotlin auf Android vermitteln das plattformtypische Gefühl, das ein Einzelhandelskaüfer bei den ersten drei Tipps bemerkt — präzises haptisches Feedback, systemtypische Navigation, zuverlässige Barrierefreiheit. Flutter ist eine legitime Alternative, wenn die Marke bewusst ein leicht artifizielles UI akzeptiert und die Single-Codebase-Geschwindigkeit priorisiert. SaaS-Marktplatzplattformen zwingen die Marke in herstellerdefinierte Bestandsregeln und Integrationsbeschränkungen, die für eine Kette mit eigenem Sortiment fatal sind. Für Malish gewann die native Entwicklung aufgrund von Retail-Qualität und Integrationsflexibilität.
Eine belastbare bidirektionale Bestandssynchronisation ist eine Architekturentscheidung. Jede Offline-Filiale verfügt über einen typisierten Konnektor, der bei Bestandsänderungen Webhook-Updates auslöst; das Symfony-Backend nimmt diese auf, gleicht sie ab und propagiert sie in den mobilen Katalog. Der Katalog berechnet die Verfügbarkeit je Filiale statt einer einzigen filialübergreifenden Zahl, sodass ein Käufer, der in der Filiale abholt, den Bestand genau dieser Filiale sieht. Das Admin-Panel stellt das Abgleichungsprotokoll bereit, damit ein Mitarbeiter eine Abweichung in Minuten debuggen kann.
Ein Zwei-Tipp-Checkout-Flow reduziert die Entscheidungen des Käufers auf die kleinstmögliche glaubwürdige Fläche: Ein Tipp bestätigt den Warenkorb mit der Standard-Lieferadresse und der hinterlegten Zahlungsmethode; ein zweiter Tipp gibt die Bestellung mit einem abschließenden Prüfungsschritt auf. Gespeicherte Karten, Apple Pay und Google Play Billing befüllen die Zahlungsoberfläche vor; die Adressvervollständigung befüllt die Lieferoberfläche. Ein Ersatz-Toggle lässt den Käufer einen Tausch für einen nicht vorrätigen Artikel vorab autorisieren. Dieser Flow ist der Goldstandard für Retail-Apps mit Wiederholungskauf.
Ein fokussiertes MVP mit nativen Swift- und Kotlin-Clients, einem Symfony-Backend, ElasticSearch-Suche, Zwei-Tipp-Checkout und grundlegenden Admin-Tools dauert typischerweise 14–22 Wochen. Die Addition von bidirektionaler Bestandssynchronisation mit Offline-Filialen, Lieferdienstintegration, rollenbasiertem Zugriff, Analytics-Dashboard und einem Treueprogramm benötigt zusätzlich 8–14 Wochen. Der prüfungsbereite Härtungspass — App-Store- und Google-Play-Einreichung, KYC-Übergabe für Zahlungen und Drittpartei-Bereitschaftsprüfung — sollte mit 3–5 Wochen dedizierter Arbeit kalkuliert werden.
Verwandte Fallstudien

Kunden-App, Kommissionier-App, Admin-Panel für eine regionale Lebensmittelkette — von Grund auf konzipierte Logistik.
Fallstudie ansehen →
Discovery für ein Blumenlieferungs-App-Paar — bestandsbewusster Katalog, Drei-Schritte-Checkout, Floristenbestand.
Fallstudie ansehen →
Autoteile-Marktplatz plus Verkäufer-CRM — VIN-Suche, Multi-Standort-Bestand.
Fallstudie ansehen →Teilen Sie uns einige Details mit, und ein Senior-Consultant antwortet innerhalb eines Werktages.