Tendero
Inventario, ventas y escáner de código de barras para una tienda de barrio. Todo desde el celular.
Una aplicación web que reemplaza el cuaderno de la tienda: entra stock, sale una venta, y el inventario cuadra al final del día sin que nadie tenga que contar estantes.
Arroz Diana 500 g
7702001120987
$3.200
18 en stock
Movimientos
- Venta-2
- Entrada+24
- Venta-1
- Ajuste-3
El problema
La tienda llevaba el inventario en un cuaderno y los precios en la cabeza del dueño. No había forma de saber qué se estaba vendiendo, ni qué se había acabado, hasta que el estante quedaba vacío. Cualquier reemplazo tenía que funcionar en los celulares Android baratos que ya tenía el personal: nada que instalar, nada que aprender.
Decisiones de ingeniería
Escáner en el navegador, no una app nativa
Decodificación de códigos de barras con WebAssembly contra la cámara del teléfono. No hay nada que descargar de una tienda de aplicaciones, y funciona igual en un celular de gama baja que en uno nuevo.
El inventario no puede desviarse en silencio
Cada movimiento de stock es una fila de un libro append-only. La cantidad del producto es una proyección de ese libro, y una tarea de reconciliación verifica que SUM(delta) siga siendo igual a la cantidad guardada, en todo el catálogo.
Importador del cuaderno
El catálogo que ya existía en papel se carga a la base de datos de una vez, en lugar de pedirle al dueño que teclee mil productos antes de que el sistema le sirva de algo.
Arquitectura sin capa de API
Los Server Components leen Postgres directo y los Server Actions escriben. Un servicio menos que desplegar, monitorear y mantener sincronizado — algo que importa cuando el equipo de mantenimiento es una sola persona.
Stack
Siguiente proyecto
PideBot
Un bot de WhatsApp que toma el pedido y cobra por el restaurante, 24/7.