ZED (My Islamic Reminders)
Eine mobile App inklusive Web-Admin-Konsole für mehrsprachige islamische Broadcasts nach individuellem Zeitplan, mit automatisiert generierter Sprachausgabe und umfassenden Zustellanalysen.
Expo (React Native)
Next.js
Convex
OpenAI TTS
TanStack Table
Recharts

Übersicht
ZED ist eine spirituelle Broadcast-Plattform, die als Monorepo aufgebaut ist und aus drei Komponenten mit gemeinsamem Backend besteht: einer Expo-Mobil-App für Endnutzer, einem Next.js-Admin-Dashboard für das Management-Team und einem Convex-Backend, das die Daten verwaltet sowie Zeitplanung, Benachrichtigungen, Analysen und die Audiogenerierung übernimmt. Das Produkt sendet Nutzern kurze islamische Beiträge zu ihrer bevorzugten Ortszeit in der gewählten Sprache und wandelt jeden Text automatisch in gesprochenes Audio mit wortweiser Texthervorhebung während der Wiedergabe um.
Das Problem
Die größte Herausforderung dieses Produkts liegt nicht in der reinen Inhaltsanzeige, sondern in der Orchestrierung. Nutzer erwarten die Zustellung zu einer festen Uhrzeit in ihrer eigenen Zeitzone und in einer von mehreren Sprachen, einschließlich RTL-Schriften (Right-to-Left). Jeder Broadcast soll als Text, Audio oder teilbarer Inhalt verfügbar sein. Administratoren benötigen genaue Einblicke in das aktuelle Geschehen: was zugestellt, angesehen und abgespielt wurde und ob die Audiogenerierung Schritt hält. Verpasst ein Nutzer Inhalte, muss das System selbstständig nachfassen. Die eigentliche Leistung besteht darin, terminierte Zustellung, Sprachauswahl, Audioerstellung, Push-Benachrichtigungen und Analysen in einem reibungslosen System zusammenzuführen.
Meine Rolle & Vorgehensweise
Dies war ein Teamprojekt unter primärer Leitung eines anderen Entwicklers, an dem ich als mitwirkender Entwickler beteiligt war. Meine Rolle war fokussiert und eingebettet in eine Architektur, die Convex als zentrale Single Source of Truth für die Mobil-App und das Admin-Dashboard nutzt. Leitendes Prinzip der Codebasis ist, dass das Backend die Orchestrierung übernimmt – einschließlich Zeitplanung, Wiederholungsversuchen, Audiojobs und Analysen –, während beide Frontends schlank bleiben und auf dieselbe generierte API zugreifen.
Tech-Stack
Wichtigste Features
Galerie


Herausforderungen & Lösungen
Die Zustellung von Benachrichtigungen bildet den technisch anspruchsvollen Kern des Produkts. Da Broadcasts nutzerspezifisch pro Zeitzone nach Zeitplan versendet werden, steuert das Backend die Auslieferung über Convex-Cronjobs und einen Hintergrund-Arbeitspool statt über Ad-hoc-Trigger. Wiederholungsmarker werden anhand der Nutzeraktivität erfasst, sodass verpasste Inhalte automatisch nachgesendet werden.
Die Audiogenerierung ist die zweite kritische Komponente, die absolut zuverlässig laufen muss. Die Umwandlung von Text in Sprache ist rechenintensiv und fehleranfällig; daher erfasst jeder lokalisierte Inhalt seinen eigenen Generierungsstatus und die Anzahl der Versuche. Administratoren können den Fortschritt überwachen und abgebrochene Aufgaben direkt über das Dashboard neu anstoßen. Das Engagement-Tracking – die Erfassung von Zustell-, Ansichts- und Abspielereignissen mit Zeitstempeln – ist direkt in das Datenmodell integriert, wodurch Berichte ohne separate Analyse-Pipeline unmittelbar aus derselben Datenquelle generiert werden.
Ergebnis
ZED ist ein durchgängiges, plattformübergreifendes System, bei dem ein einziges Convex-Backend sowohl eine Endnutzer-Mobil-App als auch ein operatives Dashboard steuert. Es plant personalisierte, mehrsprachige und automatisch vertonte Broadcasts und protokolliert jeden Schritt ihrer Zustellung. Das Projekt ist ein gelungenes Beispiel für orchestrationslastiges Product Engineering, bei dem das Backend die komplexe Ablaufplanung und Medienverarbeitung übernimmt, damit die Apps schlank und performant bleiben.
Haben Sie eine ähnliche Produktherausforderung?
Teilen Sie mir den aktuellen Stand des Produkts, das gewünschte Ergebnis und bereits bestehende Rahmenbedingungen mit. Daraus leite ich einen sinnvollen ersten Meilenstein ab.
Full Stack Developer engagieren