Cuando varias personas usan la misma aplicación, surge un riesgo que no puedes ignorar: que los datos de un usuario aparezcan en la pantalla de otro. La solución no es solo añadir un login, sino darle dueño a la memoria de la app, separando quién entra, qué ve y qué pasa si borra su cuenta.
Por qué tu app necesita autenticación desde el inicio
Una billetera digital sin cuentas es una libreta compartida. Yo registro un almuerzo, tú abres la app y ves mi gasto. Eso rompe la confianza y la utilidad del producto.
La autenticación resuelve tres problemas clave al mismo tiempo:
- Quién entra a la aplicación.
- Qué datos puede ver cada cuenta.
- Qué pasa con la información si alguien decide borrar su cuenta.
¿Qué es la autenticación en una app? Es el sistema que verifica la identidad de quien entra y asocia los datos guardados a esa persona, para que nadie más pueda verlos.
Cómo escribir el prompt para agregar inicio de sesión
El prompt enviado al builder fue directo y cubrió todos los escenarios posibles [00:24]. La idea es no dejar nada a interpretación del modelo.
Estas son las instrucciones que se le pasaron:
- Agregar inicio de sesión con email y contraseña.
- Incluir una opción para entrar rápido con Google.
- Cada cuenta debe ver solo sus propios datos.
- Si una cuenta entra por primera vez, debe empezar desde cero.
- Si una cuenta se crea por primera vez, preguntar por el presupuesto mensual.
- Si registra información, esa información debe persistir solo para esa cuenta.
Esa última línea es la más importante. La persistencia por cuenta es lo que garantiza que los datos no se mezclen entre usuarios.
Qué significa que los datos persistan por cuenta
Persistir significa que la información se guarda y sigue ahí cuando vuelves a abrir la app. Cuando lo haces por cuenta, cada usuario tiene su propio espacio aislado, aunque todos usen la misma aplicación.
Qué hacer cuando aparecen errores durante el vibe coding
Al probar el primer inicio de sesión con Google y configurar un presupuesto de cinco millones de pesos, la app no avanzaba [01:10]. Al revisar, apareció un mensaje: existen seis errores que aparecieron mientras corríamos el código.
Esto es completamente normal. Durante el proceso de vibe coding es muy común encontrar errores, sobre todo cuando se tocan permisos y reglas de base de datos.
¿Qué hago si mi app falla después de un cambio del builder? Dale clic en arreglar y deja que el modelo identifique y edite los archivos. Suele detectar errores que ni siquiera habías reportado.
La primera corrección resolvió un problema de permisos. Después, al crear una cuenta manualmente, apareció un segundo bloqueo: la app no pasaba al dashboard. El modelo encontró dos errores adicionales y simplificó las reglas de Firestore para eliminar el requisito estricto de que el email estuviera verificado [01:50].
Por qué Firestore puede bloquear el acceso
Firestore es la base de datos donde se guardan los registros de cada usuario. Sus reglas definen quién puede leer y escribir información. Si esas reglas son demasiado estrictas, usuarios legítimos quedan fuera, aunque su login sea correcto.
Cómo comprobar que cada cuenta ve solo sus propios datos
La prueba final es la más satisfactoria. Con la cuenta de Google se registró una hamburguesa como primer gasto y luego se cerró sesión [01:30].
Después se creó una segunda cuenta manualmente, con un presupuesto distinto de cuatro millones de pesos, y se registró un almuerzo de 50 mil pesos, una bandeja paisa [02:20]. Al volver a entrar con la cuenta de Google, la app no pidió la configuración inicial otra vez, mantuvo el presupuesto mensual de 4.800.000 y mostró únicamente la hamburguesa registrada al principio.
Las dos cuentas quedaron completamente separadas, cada una con su presupuesto y sus gastos. Eso es exactamente lo que debe pasar cuando la autenticación está bien implementada.
¿Te animas a agregar login a tu propia app? Cuéntame en los comentarios qué método de autenticación usarías primero: email o Google.