POS Crepes & Kaffee
En producciónSistema POS que reemplazó las comandas en papel de un restaurante. La versión 1, en HTML, CSS y JavaScript puro, está en producción y se usa a diario en el local; la versión 2, con React, TypeScript, NestJS, Prisma y PostgreSQL, está en desarrollo.
- HTML
- CSS
- JavaScript
- React
- TypeScript
- NestJS
- Prisma
- PostgreSQL
- Vitest

Contexto y problema
Los pedidos se registraban en comandas de papel que podían extraviarse. Eso generaba pedidos no entregados y descuadres de caja.
Mi rol
Proyecto freelance en el que soy el único responsable técnico desde septiembre de 2025: requerimientos, historias de usuario, desarrollo, pruebas, documentación y soporte de la versión en producción.
Requisitos
Levanté los requerimientos directamente con los dueños, usuarios no técnicos, y traduje sus necesidades operativas en casos de uso e historias de usuario con criterios de aceptación.
Evolución técnica
La versión 1 la construí desde cero con HTML, CSS y JavaScript puro, sin frameworks; es la que está en producción y se usa a diario en el local. La versión 2 es una reconstrucción desde cero con una mejor arquitectura y un mejor modelo de datos. Aprendí NestJS para este proyecto.
Arquitectura de la versión 2
Frontend en React y TypeScript; backend en NestJS con Prisma ORM y PostgreSQL, con APIs REST, modelo de datos SQL y migraciones. Ya está probada en varios dispositivos, con la aplicación desplegada en un servidor.
Decisión de arquitectura
Documenté en un ADR la decisión de usar PostgreSQL autogestionado en el servidor en lugar de un backend como servicio, para evitar dependencias innecesarias.
Calidad
Valido los endpoints con Postman y documento el sistema en los repositorios. La versión 2 tiene pruebas automatizadas con Vitest: unitarias en el frontend y el backend, y de extremo a extremo en la API. En mis propias pruebas, antes del lanzamiento, detecté un error en los pagos divididos: los pagos con efectivo y transferencia se registraban como efectivo en la caja. Lo corregí sin afectar la operación real.
Resultados
El sistema reemplazó las comandas en papel: cada pedido queda registrado y se han procesado más de 2.200 ventas sin interrupciones.
Uso de IA
Uso Claude Code configurado con archivos de instrucciones del proyecto (CLAUDE.md / AGENTS.md), documentación y ADR, y le doy como contexto historias de usuario, criterios de aceptación y requerimientos funcionales y no funcionales. Reviso el código generado y descarto lo que agrega complejidad o dependencias innecesarias. La responsabilidad de validar y mantener el sistema es mía.