← Archivo
· 3 min de lectura

Reescribiendo mi primer software con IA

Actualizado el

Llevo unos meses trabajando en mis tiempos libres en un proyecto que me toca el corazón. Para entenderlo, hay que volver a 2018 o 2019, cuando estaba fascinado con Space X y decidí crear mi primer acercamiento real al software: un sistema de inventarios llamado irocket (la "i" por mi hijo Ismael y "rocket" por los cohetes).

Escaló a un POS básico en PHP y SQL bastante mal estructurado, pero funcionaba. Cuando quise meterle facturación electrónica, me estrellé por falta de experiencia, incluso invertí un dinero en una integración que jamás funcionó, y para rematar llegó la pandemia. El proyecto quedó archivado mientras mi carrera avanzaba en la industria HealthTech.

En 2026 decidí retomarlo, pero no como un parche, sino reescribiéndolo desde cero bajo el nombre de SGC (Sistema de Gestión Comercial).

El reto de construir con IA y el cambio a Claude

Desarrollar un sistema entero en tiempos libres requiere ayuda. Empecé iterando con Cursor y OpenCode, pero en Cursor me agotaba el límite personal en un abrir y cerrar de ojos, y OpenCode tardaba demasiado en tareas básicas. Cambié mi suscripción a Claude y la experiencia mejoró radicalmente.

Sin embargo, surgió el problema del desarrollo moderno con IA: escribe tanto código tan rápido que probarlo todo se vuelve durísimo.

Para poder confiar en lo que generan los agentes, rodeé la IA con límites estrictos de arquitectura (Atomic Design) y una suite de pruebas robusta ejecutada con pnpm test:all:

  • Vitest + Playwright: 82 tests en total cubriendo API, emails transaccionales, almacenamiento y pruebas de concurrencia.

  • Screenshots E2E en Cloudflare R2: Cada prueba genera evidencias que se suben automáticamente a la nube.

  • Ejecutor manual en UI: Construí un panel para el rol SUPER_ADMIN donde puedo disparar los tests E2E directamente desde la interfaz y ver los resultados en vivo.

¿Qué es SGC exactamente por dentro?

Aunque arrancó pensado para restaurantes, tiendas y gimnasios, recientemente surgió un cliente potencial para una agencia de diseño, así que mis últimos commits han ido orientados a resolver sus necesidades de usabilidad (¡varias de ellas pedidas por mi hermana!).

Técnicamente, el sistema es una web app sobre Next.js (latest) con TypeScript y API REST, cuya base de datos en Postgres se gestiona mediante Prisma ORM.

Arquitectura y características clave:

  • Multi-tenant real y RBAC: Cambio de contexto entre empresas y control de acceso por roles personalizables con aislamiento de datos.

  • Contabilidad Colombiana (PUC): Plan Único de Cuentas, manejo de IVA (19%), Balance General, P&L (Estado de Resultados) y Balance de Comprobación.

  • Facturación Electrónica vía Terceros: Para no cometer los errores del pasado con la DIAN, integré proveedores tecnológicos como Factus (además de soporte conceptual para Carvajal, Siigo, etc.) para la generación de CUFE, validación de rangos y exportación en XML UBL 2.1, Excel y PDF.

  • Centro de Auditoría: Pista de auditoría centralizada en un singleton que registra estados "antes/después", checksums SHA-256 y la línea de vida de cada entidad.

  • Concurrencia segura: Transacciones serializables con reintentos automáticos para no perder ventas en momentos de alto tráfico.

  • AURA (Agente IA Integrado): Un Asistente Unificado de Reportes y Análisis integrado en el sistema que permite a los usuarios hacer consultas en lenguaje natural y SQL flexible (soporta OpenAI y Anthropic).

  • Servicios e Infraestructura: Manejo de estado ligero con Jotai, emails transaccionales con Brevo, almacenamiento de adjuntos y PDFs en Cloudflare R2, y mensajería/notificaciones internas en tiempo real.

Dónde estoy hoy y qué sigue

El proyecto ya cuenta con su propia Landing Page conectada con Stripe para la gestión de planes y pagos (ya probada con éxito). También dejé listo un seed con 6 meses de datos transaccionales simulados para hacer pruebas de estrés reales sobre contabilidad, inventarios y nómina.

Ahora mismo estoy concentrado en cerrar los detalles de experiencia de usuario que me faltan, revisar cuestiones de usabilidad y apoyarme en Claude para auditar a fondo el movimiento de facturas y garantizar que todo cumpla con la normativa legal de la DIAN antes de salir al mercado.

Aquel proyecto en PHP de 2018 dedicado a Ismael por fin tomó la forma que siempre quise darle.