cherish Hochzeit
Eine App zum Teilen von Fotos und Videos für die Hochzeit meiner Schwester im Juli 2025: Gäste scannten einen QR-Code, luden vom Handy hoch, und die Galerie füllte sich live. Es war mein erstes Projekt, das größtenteils KI-Agenten gebaut haben, und es hat mir gezeigt, wo sie brechen. Am Tag selbst hat alles funktioniert.

01 · Aufgabe
Meine Schwester hat im Juli 2025 geheiratet, und ich wollte die Fotos aller Gäste an einem Ort haben, noch am selben Abend. Gäste scannen einen QR-Code, registrieren sich in Sekunden ohne Passwort und laden Fotos und Videos hoch. Uploads landen in einer Moderationsschlange, freigegebene erscheinen in einer Live-Galerie. [PLATZHALTER: Gästezahl, von meiner Schwester bestätigt]
02 · Stack
Next.js mit App Router, parallele und abfangende Routen für die Lightbox. Supabase für Auth, Postgres und Storage, dazu Supabase Realtime, damit neue Fotos ohne Neuladen erscheinen. Zustand und React Query für den State, shadcn/ui für die Oberfläche, Playwright und Jest für Tests. Die Lightbox lässt sich wischen, Videos starten beim Scrollen, und die ganze Galerie gibt es als ZIP.

03 · Alle Tools gleichzeitig
Im Sommer 2025 habe ich alles parallel genutzt, was es gab: Cursor, Claude Code, Gemini CLI und Copilot. MCP war brandneu, und ich habe angebunden, was ging: Playwright und Puppeteer für den Browser, Supabase nur lesend für die Datenbank, Shortcut für Tickets, Perplexity für Recherche. Meine Anweisungen waren Prompts und eine einzige CLAUDE.md.
04 · Workaround-Spiralen
Die Modelle damals hatten kleine Kontextfenster und verloren schnell den Faden. Als eine Abfrage Daten über zwei Supabase-Schemas verbinden sollte, hat ein Agent nicht angehalten: Er hat Workaround auf Workaround gestapelt, und im Repo sammelten sich Debug-SQL-Dateien. Ich habe meine erste Regel für Agenten aufgeschrieben: Nach zwei Workarounds stoppen und die Ursache suchen.
Kernaussage Nach zwei Workarounds: stopp.
05 · Am Tag selbst
Am Hochzeitstag hat die App ihren Job gemacht: Gäste haben hochgeladen, die Moderation kam hinterher, und die Galerie füllte sich live. Die Regel aus diesem Projekt steht bis heute in meinem Protokoll, als die Regel, nach der ein Agent nach zwei gescheiterten Versuchen fragen muss.
