ZED (My Islamic Reminders)
Um aplicativo móvel e um console administrativo web que entregam transmissões islâmicas multilíngues na programação pessoal de cada usuário, com áudio narrado gerado automaticamente e análises completas de entrega.
Expo (React Native)
Next.js
Convex
OpenAI TTS
TanStack Table
Recharts

Visão geral
O ZED é uma plataforma de transmissão espiritual construída como um monorepo com três partes que compartilham um backend: um aplicativo móvel Expo para usuários finais, um dashboard de administração Next.js para as pessoas que o gerenciam e um backend Convex que contém os dados e faz o agendamento, notificações, análises e geração de áudio. O produto envia aos usuários transmissões islâmicas curtas em seu horário local preferido, em seu idioma escolhido, e converte automaticamente cada uma em áudio narrado com destaque palavra por palavra enquanto é reproduzido.
O Problema
A parte difícil deste produto não é exibir conteúdo. É a orquestração. Os usuários querem receber transmissões em horários específicos no seu fuso horário local, em um entre vários idiomas, incluindo escrita da direita para a esquerda. Cada transmissão deve poder ser consumida como texto, áudio ou conteúdo compartilhável. Os administradores precisam acompanhar o que está realmente acontecendo: o que foi entregue, visualizado e reproduzido, e se a geração de áudio está acompanhando a demanda. E quando alguém perde um conteúdo, o sistema deve fazer o acompanhamento de forma autônoma. O verdadeiro trabalho é integrar a entrega agendada, seleção de idioma, geração de áudio, notificações push e análises em um sistema coeso.
Meu Papel e Abordagem
Este foi um projeto de equipe liderado principalmente por outro engenheiro, e eu contribuí como um dos desenvolvedores nele. Meu envolvimento foi focado, em vez de primário, dentro de uma arquitetura construída em torno do Convex como a única fonte da verdade compartilhada tanto pelo aplicativo móvel quanto pelo dashboard de administração. O princípio de design em toda a base de código é que o backend detém a orquestração, incluindo agendamento, novas tentativas, trabalhos de áudio e análises, enquanto os dois front ends permanecem finos e leem a partir da mesma API gerada.
Stack Tecnológica
Principais Funcionalidades
Galeria


Desafios e Soluções
A entrega de notificações é o núcleo tecnicamente exigente do produto. Como as transmissões saem por usuário, por fuso horário, em um agendamento, o backend lida com a entrega por meio de trabalhos cronológicos do Convex e um pool de trabalho em segundo plano, em vez de gatilhos ad-hoc, com marcadores de novas tentativas rastreados em relação à atividade de cada usuário para que o conteúdo não visualizado seja acompanhado automaticamente.
A geração de áudio é a outra parte móvel que tem que se manter confiável. Transformar texto em áudio narrado é demorado e pode falhar, de modo que cada parte do conteúdo localizado rastreia seu próprio status de geração e contagem de novas tentativas, e os administradores podem ver o progresso e executar novamente os trabalhos parados a partir do dashboard. O rastreamento de engajamento, registrando eventos entregues, visualizados e reproduzidos com carimbos de data/hora, é incorporado diretamente no modelo de dados, o que significa que os relatórios vêm direto do mesmo repositório, sem um pipeline de análises separado.
Resultado
O ZED é um sistema multiplataforma completo onde um único backend Convex aciona tanto um aplicativo móvel para consumidores quanto um dashboard de operações. Ele agenda transmissões personalizadas, multilíngues, narradas automaticamente e fornece relatórios de cada etapa da sua entrega. É um forte exemplo de engenharia de produto com uso intenso de orquestração, com o backend fazendo o agendamento pesado e trabalho de mídia, para que os aplicativos possam permanecer simples.
Tem um problema de produto semelhante?
Compartilhe o produto atual, o resultado que você precisa e as restrições que já estão no caminho. Usarei isso para definir um primeiro marco sensato.
Contratar um desenvolvedor full stack