FrytControl
En producciónEl cierre de caja de un minimarket, en el celular del local.
La ficha
- Año
- 2026
- Estado
- En producción
- Rol
- Diseño, desarrollo y despliegue
- Hecho con
- React 19
- TypeScript
- TanStack Router y Query
- Tailwind CSS v4
- Supabase
- Vercel
Cómo se ve
Las pantallas de la aplicación, con datos de ejemplo.


El problema
El local cerraba la caja en un cuaderno y lo pasaba a WhatsApp. Para saber cómo había ido el día, la dueña tenía que esperar a que alguien le escribiera, y para saber cómo había ido el mes había que sumar a mano. Los turnos de mañana y tarde se anotaban por separado, así que un día quedaba repartido en dos registros que nadie volvía a juntar.
Qué resuelve
FrytControl registra el día completo: las ventas por cada método de pago —efectivo, Getnet, Mercado Pago, Edenred y Amipass—, los proveedores que cobraron, y el conteo de caja contra lo esperado. Si no cuadra, muestra la diferencia en vez de esconderla. El día se cierra en dos turnos o de una sola vez cuando el local abre corrido.
Encima de eso viven el historial, la comparación con el período anterior, los resúmenes por correo a las 08:00 y la exportación a Excel para la contabilidad.
Las decisiones que importaron
Funciona sin señal. El local se queda sin conexión seguido, y una aplicación que se cae cuando hay que anotar una venta no se usa: se vuelve al cuaderno. Las pantallas se sirven desde una caché en el teléfono y lo anotado espera a que vuelva la conexión.
Se escribe de pie, con una mano. Los montos se ingresan con un teclado numérico propio de teclas grandes, no con el del sistema. Todo objetivo táctil tiene al menos 48 píxeles.
Claro y oscuro. Se cierra de noche, con el local a media luz. La aplicación sigue el tema del teléfono.
Qué aprendí
Que el modelo de datos correcto no es el que describe bien el negocio, sino el que sobrevive a cómo trabaja la gente. Empecé modelando “turno” y “día” como cosas distintas, y terminé necesitando que un día completo fuera un turno único: la traducción todavía vive en la base de datos y simplificarla es trabajo pendiente. Vale la pena decidir eso antes de tener datos en producción.