La primera app móvil de un senior de backend: una galería de fotos creada con vibe coding durante 5 meses (lanzada en iOS / beta en Android)
(zizi.tnstory.co.kr)Hola. Soy un desarrollador senior de backend.
No tenía ninguna experiencia en apps/frontend, pero por primera vez intenté crear una app móvil únicamente con vibe coding.
Me tomó 5 meses; en iOS ya fue lanzada, y en Android sigue en beta privada debido a restricciones de la política para desarrolladores individuales.
Por qué la hice
Un día mi hija me dijo: "No tengo suficiente espacio para guardar fotos y borrarlas es demasiado incómodo". Así que empecé de forma sencilla con una "app de galería para borrar, clasificar y buscar rápido", pero a medida que la iba creando, las funciones siguieron aumentando.
Funciones principales
- Organización rápida (Quick Cull) — compara con deslizamientos y elimina por lotes de una sola vez
- Búsqueda de texto con OCR — usa Apple Vision / Google ML Kit para buscar por el texto dentro de las fotos
- Búsqueda por nombres de lugares — compatible con 180 países mediante GeoHash + Reverse Geocoding (datos públicos de OSM; para Corea se construyó por separado una base de datos de divisiones administrativas)
- Sincronización/copia de seguridad entre dispositivos — Google Drive + patrón CDC (smartphone ↔ tablet)
- Búsqueda por etiquetas/ubicación/calendario — encuentra incluso decenas de miles de fotos en cuestión de segundos
Stack tecnológico
- React Native + Expo (newArch)
- Parte nativa — Swift, Kotlin (OCR/renderizado rápido de fotos y otras áreas dependientes de la plataforma)
- Supabase + Google OAuth
- Reanimated 4, FlashList v2
- SQLite + FTS5 (búsqueda local)
Lo que sentí mientras la hacía
Parece que la IA lo hará todo, pero en la práctica se necesita bastante trabajo manual a nivel de programación (prompts). En especial, las diferencias de comportamiento entre plataformas y el ajuste de rendimiento al final tuvieron que revisarse una por una de forma manual (aunque también recibí ayuda de la IA en ese proceso).
Construí datos para la búsqueda por nombres de lugares de 180 países (la base de datos de reverse geocoding por país se descarga desde CDN solo para los países necesarios), pero no pude verificar con pruebas reales las regiones fuera de Corea. Me gustaría que gente de otros países la probara, pero es difícil recibir retroalimentación para validar los datos.
Lo que creo que hice bien
Renderizado progresivo de imágenes en 4 etapas: ThumbHash → System default Thumbnail → ViewPort Size → Origin Size
Intenté optimizarla al máximo posible, pero comparada con la app de fotos predeterminada todavía queda mucho camino por recorrer.
Estado actual
- Landing page (presentación + Privacy): https://zizi.tnstory.co.kr
- iOS App Store: https://apps.apple.com/app/6760991211
- Registro para beta de Android: https://groups.google.com/g/zizi-beta-tester
(unirse al grupo → luego se puede hacer opt-in en Play Store) - iOS: compatible con iCloud
- Android: lamentablemente, las fotos respaldadas en la nube (Google Photos, etc.) no se pueden acceder directamente por políticas, así que solo se puede acceder a ellas si se descargan manualmente
Les pido
- Agradezco comentarios de validación sobre la búsqueda por nombres de lugares por parte de usuarios de iOS que tengan fotos de fuera de Corea
- También agradeceré libremente ideas o críticas sobre flujos de trabajo para organizar fotos
Gracias.
Aún no hay comentarios.