O primeiro app mobile de um sênior de Backend: uma galeria de fotos feita em 5 meses com vibe coding (lançado no iOS / beta no Android)
(zizi.tnstory.co.kr)Olá. Sou um desenvolvedor sênior de Backend.
Não tenho nenhuma experiência com app/front-end, mas pela primeira vez tentei criar um app mobile usando apenas vibe coding.
Levou 5 meses, o iOS já foi lançado, e o Android está em beta fechado por restrições da política para desenvolvedores individuais.
Por que eu fiz isso
Um dia minha filha comentou: "o espaço para guardar fotos está acabando, mas apagar é muito desconfortável". Então comecei de forma despretensiosa com a ideia de um 'app de galeria para apagar, classificar e buscar rapidamente', mas conforme fui fazendo, os recursos continuaram aumentando.
Principais recursos
- Organização rápida (Quick Cull) — compare com swipes e apague em lote de uma vez
- Busca de texto com OCR — usando Apple Vision / Google ML Kit, pesquise pelas palavras dentro das fotos
- Busca por nome de lugar — suporte a 180 países com GeoHash + Reverse Geocoding (dados públicos do OSM, e para a Coreia foi construída separadamente uma base de dados de bairros administrativos)
- Sincronização/backup entre dispositivos — Google Drive + padrão CDC (smartphone ↔ tablet)
- Busca por tags/localização/calendário — encontre até dezenas de milhares de fotos em poucos segundos
Stack técnico
- React Native + Expo (newArch)
- Partes nativas — Swift, Kotlin (OCR/renderização rápida de fotos e outras áreas dependentes de plataforma)
- Supabase + Google OAuth
- Reanimated 4, FlashList v2
- SQLite + FTS5 (busca local)
O que senti ao criar
Parece que a IA vai fazer tudo, mas na prática ainda entra bastante trabalho manual no nível de codar diretamente (prompts). Principalmente as diferenças de comportamento entre plataformas e o ajuste de performance acabaram exigindo que uma pessoa analisasse tudo um a um (embora nesse processo eu também tenha recebido ajuda da IA).
Na busca por nome de lugar, montei dados para 180 países (o banco de reverse geocoding por país é baixado via CDN apenas para os países necessários), mas não consegui validar em campo as regiões fora da Coreia. Seria ótimo se pessoas de outros países pudessem testar, mas é difícil conseguir feedback de validação desses dados.
O que acho que foi uma boa decisão
Renderização progressiva de imagem em 4 etapas: ThumbHash → thumbnail padrão do sistema → tamanho do ViewPort → tamanho original
Tentei otimizar o máximo possível, mas comparado ao app de fotos padrão ainda há um bom caminho pela frente.
Estado atual
- Landing page (apresentação + Privacy): https://zizi.tnstory.co.kr
- iOS App Store: https://apps.apple.com/app/6760991211
- Inscrição para o beta do Android: https://groups.google.com/g/zizi-beta-tester
(entrar no grupo → fazer opt-in na Play Store) - iOS: suporte a iCloud
- Android: infelizmente, fotos com backup em nuvem (Google Photos etc.) não podem ser acessadas diretamente por política, então só podem ser acessadas após download manual
Um pedido
- Feedback de validação da busca por nome de lugar é muito bem-vindo de usuários de iOS que tenham fotos de regiões fora da Coreia
- Ideias ou críticas sobre o fluxo de organização de fotos são totalmente bem-vindas
Obrigado.
Ainda não há comentários.