Saltar al contenido

Construyo el software sobre el que funcionan las empresas.

Desarrollador full stack e ingeniero de datos en Piura, Perú. Ocho productos en producción —ERPs, planillas, comercio electrónico, facturación electrónica—, cuatro míos y vendidos por suscripción, cuatro construidos para clientes que pagaron por ellos. Todo lo de abajo tiene URL viva o repositorio público.

Notas de ingeniería

Cuatro problemas que merecen contarse. Cada uno enlaza al código o al sistema en marcha.

Integración con sistemas vivos

Escribir en tablas FoxPro que siguen abiertas

FoxPro sigue sosteniendo operaciones reales, y la aplicación está abierta en cada escritorio desde las ocho de la mañana. Mover ese histórico a cualquier sitio suele significar cerrar el negocio un fin de semana. En vez de eso escribí un motor DBF en Python sin dependencias: interpreta la cabecera de la tabla, inserta y edita registros en su desplazamiento de bytes, y bloquea por rangos, de modo que solo retiene los bytes del registro que está tocando. La aplicación de siempre sigue leyendo y escribiendo el mismo fichero a la vez, y no se entera. Más de 500.000 registros históricos llegaron a reportes, web y análisis sin cerrar un solo día.

Prueba: py-foxpro-engine

Go · tiempo real

Un backend de restaurante sin ORM

Mozaico es el repositorio con más commits que he escrito. El backend es Go con Gin y sqlx —sin ORM a propósito: el SQL se escribe a mano y vive junto a la consulta que sirve, con funciones PL/pgSQL en PostgreSQL para las operaciones que no se pueden partir—. El estado de cada comanda viaja a las pantallas de salón y cocina por gorilla/websocket, así que un plato marcado como listo aparece donde hace falta sin recargar y sin sondear. El cliente es React 19 y TypeScript 5.9 sobre Vite.

Prueba: mozaicopro.djasoft.net.pe

IA aplicada

Dos diseños de IA, opuestos a propósito

AlmaZen incluye un agente conversacional que responde sobre stock, ventas, márgenes y deuda con 29 herramientas de solo lectura, y cada herramienta tiene su propio permiso: al usuario que no puede ver márgenes no se le entrega la herramienta de márgenes, así que la pregunta no tiene dónde resolverse. Master Color tiene un chatbot de ventas público sin ninguna herramienta —ve el catálogo y nada más, porque puede hablarle cualquiera en internet—. La misma tecnología con modelos de amenaza opuestos: uno está autenticado y limitado por usuario, el otro es anónimo y está limitado por no tener nada que alcanzar.

Prueba: almazenapp.djasoft.net.pe

Dominios regulados

La parte que solo es difícil si estás aquí

Facturación electrónica peruana de punta a punta sobre Greenter: envío a SUNAT, tratamiento del CDR que vuelve, bajas y resúmenes. Al lado, las reglas de SIAGIE y MINEDU en educación, SUSALUD en salud, consultas a RENIEC y las tablas de ubigeo. Nada de esto es intelectualmente vistoso, y todo decide si el software sirve o no sirve — por eso un SaaS importado casi nunca lo resuelve bien. La mitad reutilizable está publicada en Packagist.

Prueba: sunat-comprobantes

Código abierto

Los productos son privados porque se venden. Estas son las piezas que llevan la ingeniería y ninguna regla de negocio, publicadas enteras.

  • py-foxpro-enginePython · MIT

    Lee y escribe tablas FoxPro (.dbf) a nivel de byte, con bloqueo por rangos: inserta registros mientras la aplicación de los noventa sigue abierta en cada escritorio. Sin dependencias.

  • sunat-comprobantesPackagist · MIT

    Utilidades de facturación electrónica para SUNAT, publicadas en Packagist como djasoft/sunat-comprobantes.

  • nomencladorPython · MIT

    Renombra facturas PDF en masa. Lee el texto nativo y, si el PDF viene escaneado, recurre a OCR. Aplica las nomenclaturas que exige cada aseguradora.

  • La versión desacoplada de AlmaZen, publicada entera: API en Laravel y cliente en Vue 3, con licencia PolyForm Noncommercial.

Stack

Con lo que trabajo de verdad, no lo que he leído.

Backend
Go · Gin · sqlx · PHP · Laravel · TypeScript · NestJS · Python
Frontend
React 19 · Vue 3 · Livewire · Astro · Tailwind
Datos
PostgreSQL · PL/pgSQL · Firestore · FoxPro · DBF · ETL
Móvil
Flutter
Infraestructura
Firebase · Cloudflare Pages · AWS S3 · GitHub Actions · WebSockets

Contacto

Abierto a puestos de ingeniería y a consultoría sobre integración con sistemas heredados, dominios regulados peruanos, o meter un LLM dentro de un producto sin entregarle las llaves.