Alle Projekte
In den Stores · aufgezeichnet mit BeispielinhaltenFallstudie

Photo2Post

Bildretusche von Profis, bestellt per Smartphone: eine Leistung wählen, Fotos senden und sie retuschiert zurückbekommen.

Rolle
Flutter-Entwickler: das Redesign 4.0, die Umstellung auf Credits und Zahlungen, Bestellungen, Archiv und Ordner sowie jedes Release seit Juni 2025
Auftraggeber
Image Retouch srl
Zeitraum
2025 – heute
Plattformen
iOS und Android aus einer Flutter-Codebasis
  • Flutter
  • Dart
  • GetX
  • Firebase Auth
  • Cloud Firestore
  • Cloud Functions
  • Cloud Storage
  • Cloud Messaging
  • Stripe
  • PayPal

Das Produkt

Bei Photo2Post retuschieren Menschen, keine Filter. Eine Gastgeberin, deren Wohnung im Inserat gut aussehen soll, ein Ladenbesitzer mit Produkten für den Onlineshop, jemand mit einem Porträt, das nachgebessert werden soll: Sie wählen in der App eine Leistung, schicken die Fotos mit einer Notiz, und wenige Stunden später kommen die Fotos von den Retuscheuren des Studios zurück, jedes in zwei retuschierten Versionen, zum Vergleichen mit dem Original und zum Bewerten.

Über die App bestellen und bezahlen die Kunden. Die Retusche wird mit Credits bezahlt, die man in Paketen per Karte, Apple Pay oder Google Pay über Stripe oder mit PayPal kauft; jedes fertige Foto bleibt in einem Archiv, zum Herunterladen, Teilen oder Sortieren in Ordner. Ich bin im Juni 2025 eingestiegen, habe die App als Version 4 neu gestaltet und bin seitdem ihr Entwickler.

77
der 80 Commits seit Juni 2025 stammen von mir
49%
der heutigen Dart-Zeilen wurden zuletzt in meinen Commits geschrieben
31k
Zeilen Dart in der App, ohne generierten Code
2
retuschierte Versionen jedes Fotos, von den Retuscheuren des Studios

Rundgang

Die App in Aktion

Wählen Sie eine Aufnahme oder springen Sie direkt zu einem Kapitel.

Eine erste Bestellung, von der Fotomediathek ins Studio und zurück, erstes Bild
0:00 / 1:46

Aufgezeichnet aus dem veröffentlichten Code in Smartphone-Größe. Ein virtuelles Studio ersetzt die Retuscheure: Es schickt die gezeichneten „Nachher“-Versionen der Beispielfotos zurück, wenn das Aufnahmeskript es verlangt, und die App benachrichtigt den Kunden so, wie es die Push-Benachrichtigung tun würde.

Funktionen

Vom Foto auf dem Smartphone zum retuschierten Bild

01

Auswählen, was retuschiert wird

Die Startseite ist der Katalog: jede Leistung mit einem Vorher-nachher-Beispiel, das sich von selbst verschiebt, der Lieferzeit und dem Preis in Credits pro Foto. Der Kunde wählt eine aus und fügt Fotos aus der Kamera oder der Mediathek hinzu.

02

Warenkorb und Bestellung

Eine Zeile pro Foto, jede mit einer Notiz für den Retuscheur („Wände gerade ausrichten“, „Kartons rausnehmen“), die vor dem Senden auf Links, E-Mail-Adressen und Schimpfwörter geprüft wird. Beim Bestätigen werden die Fotos hochgeladen, die Credits vom Konto abgebucht und die Bestellung an das Studio übergeben.

03

Registrierung, wenn es darauf ankommt

Katalog und Warenkorb funktionieren ohne Konto; danach gefragt wird erst bei der ersten Bestellung, als Privat- oder Geschäftskunde. Apple, Google, Facebook oder E-Mail, mit den Einwilligungen, und zwei kostenlose Credits zum Start. Wer noch nichts gekauft hat, bekommt ein Willkommenspaket mit einem Countdown von fünfzehn Minuten angeboten.

04

Zurück aus dem Studio

Eine Benachrichtigung meldet, dass die Fotos fertig sind, und öffnet die Bestellung. Jedes Foto lässt sich im Original und in seinen zwei retuschierten Versionen ansehen, mit Sternen bewerten, herunterladen oder teilen.

05

Ein Archiv und Ordner

Bestellungen nach Monat, laufend oder abgeschlossen; ein Archiv aller retuschierten Fotos mit einer Download-Schaltfläche an jedem; und Ordner, die der Kunde auf dem Smartphone anlegt (für ein Inserat, für einen Laden), gesammelt geteilt oder heruntergeladen.

06

Credits

Pakete mit Preis pro Credit, ein Rabattcode, der auf dem Server geprüft wird, die ausgewiesene Mehrwertsteuer, dann die gespeicherte Karte, der Zahlungsdialog von Stripe, Apple Pay, Google Pay oder PayPal. Die Credits sind auf dem Konto, sobald die Zahlung durch ist.

Unter der Haube

So wurde es entwickelt

Erst ein Redesign, dann eine neue Art zu bezahlen

Version 4 hat die Bildschirme neu aufgebaut, die der Kunde durchläuft: Anmeldung und Registrierung, die Leistungsseite mit ihren Vorher-nachher-Beispielen, den Warenkorb, die Bestellungen, Datenschutz und Nutzungsbedingungen. Dann stellte die App von der Bezahlung pro Bestellung auf Credits um: Pakete, die Kasse mit Rabattcodes, das Willkommensangebot, die Regeln für kostenlose Credits und dafür, wann der Kauf weiterer Credits vorgeschlagen wird.

Firebase und die Bestellpipeline

GetX für Zustandsverwaltung, Routing und Abhängigkeiten; Firebase Auth mit Custom Claims für die Kundenrolle; Firestore für Leistungen, Nutzer, Bestellungen und ihre Details; Cloud Storage für die Fotos und ihre Vorschaubilder; Cloud Functions, um eine Bestellung zu bestätigen, einen Rabattcode zu prüfen und eine Bewertung zu speichern. Die App schreibt eine ausstehende Bestellung mit ihren Details und Uploads, und eine Function macht daraus einen Auftrag für das Studio.

Die App in den Stores halten

Jedes Release seit Juni 2025, von Build 70 bis Build 106, mit den Korrekturen, die eine Live-App mit sich bringt: Fotoberechtigungen unter iOS, die Tastatur über den Notizen im Warenkorb und an der Kasse, erneute Anmeldeversuche bei langsamen Netzen, eine Benachrichtigung, die die richtige Bestellung öffnet.

Eine Live-App aufzeichnen

Die App ist echt. Die Fotos sind gezeichnet.

Hinter Photo2Post stehen echte Kunden, ihre Fotos und ihre Zahlungen. Nichts davon gehört in ein Portfolio, deshalb verwenden die Aufnahmen eine eigenständig laufende Kopie des veröffentlichten Codes, mit einem Ersatz für alles dahinter.

  1. 1

    Der veröffentlichte Code, gebaut für den Browser

    Ein Flutter-Web-Build in Smartphone-Größe, der glaubt, auf einem iPhone zu laufen. Die App legt Fotos, Warenkorb und Vorschaubilder in Dateien ab, die es im Browser nicht gibt, deshalb bekommt sie in der Demo ein Dateisystem im Arbeitsspeicher; Push-Benachrichtigungen, Analytics und Absturzberichte sind abgeschaltet.

  2. 2

    Firebase, Stripe und ein Studio, innerhalb der Seite

    Anmeldung und Firestore laufen auf den In-Memory-Fakes, die Firebase-Projekte in ihren Tests verwenden, befüllt mit einem Katalog und einer Stammkundin; Storage und die Cloud Functions werden von kleinen Platzhaltern beantwortet. Die API von Stripe wird mit einer Testkarte beantwortet, und den Zahlungsdialog zeichnet die Demo. Ein virtuelles Studio schickt Bestellungen zurück und löst die Benachrichtigung aus.

  3. 3

    Gezeichnete Fotos

    Die Beispielfotos des Unternehmens und Stockbilder bleiben außen vor. Ein Skript zeichnet zehn Szenen (Zimmer, Produkte, Gerichte, einen Strand, ein Porträt, eine Stadt), jede als schiefes, dunkles, unaufgeräumtes „Vorher“ des Kunden und als zwei retuschierte Versionen, und die Fotomediathek des Smartphones ist eine Auswahl daraus.

  4. 4

    Offline aufgezeichnet

    Das Aufnahmeskript blockiert jede Anfrage, die den Rechner verlassen würde, sodass keine Aufnahme den echten Dienst erreichen kann.

Logo, Oberfläche, ihre Icons und Illustrationen sowie die Credit-Pakete stammen aus der App. Die Fotos, der Leistungskatalog, die Kunden, Bestellungen, Ordner und die Zahlungskarte sind Beispielinhalte, die für dieses Portfolio erstellt wurden.

Retuschiert

Hier gibt es keine Demo zum Ausprobieren: Photo2Post ist ein Live-Produkt, deshalb zeigt diese Seite Aufnahmen mit Beispielinhalten.

Alle Bildschirme

Alle Screenshots im Überblick

  • LeistungenJede Leistung mit einem Vorher-nachher-Beispiel, ihrem Preis in Credits und der Lieferzeit.
  • Weitere LeistungenFood-Fotos, Porträts, Objektentfernung, kreative Retusche.
  • Fotos auswählenDie Fotomediathek des Smartphones (für die Demo gezeichnet).
  • WarenkorbEine Zeile pro Foto, mit einer Notiz für den Retuscheur.
  • KontoZwei kostenlose Credits zum Start; Apple, Google, Facebook oder E-Mail.
  • RegistrierungName, E-Mail, ein sicheres Passwort und die Einwilligungen.
  • Bestellung gesendetDie Fotos gehen ans Studio; die Credits werden vom Konto abgebucht.
  • In BearbeitungDie Bestellung, an der der Retuscheur gerade arbeitet.
  • Fotos fertigDie Push-Benachrichtigung, wenn die Retuscheure fertig sind.
  • WillkommensangebotFür Kunden, die noch keine Credits gekauft haben: ein vergünstigtes Paket, fünfzehn Minuten lang.
  • RetuschiertJedes Foto kommt in zwei retuschierten Versionen zurück, zum Vergleich mit dem Original.
  • BestellungenLaufende Bestellungen, nach Monat gruppiert, mit dem Bild des Retuscheurs.
  • OriginalDas Foto, wie es gesendet wurde.
  • RetuschiertMit Sternen bewertet; von hier aus herunterladen oder teilen.
  • AbgeschlossenAlle gelieferten Bestellungen.
  • ArchivAlle retuschierten Fotos, bereit zum Herunterladen.
  • OrdnerFotos, auf dem Smartphone in Ordner sortiert und gesammelt heruntergeladen.
  • Ein OrdnerDie Fotos für ein Inserat.
  • Credit-PaketePakete mit dem Preis pro Credit.
  • KasseEin Rabattcode, die Mehrwertsteuer und die Zahlungsarten.
  • Gespeicherte KarteDie gespeicherte Karte oder eine andere Zahlungsart.
  • ZahlungsdialogDer Zahlungsdialog von Stripe (von der Demo gezeichnet, Testkarte).
  • BezahltDie Credits werden dem Konto gutgeschrieben.
  • ProfilName, die Standardkarte, Hilfe, Benachrichtigungen und das Konto.

Nächste Fallstudie

Criluma Viaggi →