5 productos en producción real

Apps de negocio que ya
están cobrando todos los días.

Construyo sistemas completos para negocios reales: punto de venta que no se traba cuando hay tres cajas, catálogos con dos precios, gastos y tarjetas bajo control, y reservas que nunca se solapan.

No son demos. Cada app de esta página tiene usuarios reales, datos reales y las fallas que la vida enseña. Eso es lo que te enseño.

0 productos completos
0 pantallas de negocio
0 endpoints de API
0 líneas en producción

Lo que suelen tener

Una web bonita que carga lento, un POS que se traba cuando hay dos cajas, o un Excel que nadie sabe actualizar.

Lo que entrego

Sistemas que aguantan la operación real: con la lógica difícil del negocio ya resuelta, rápidos aunque la red falle, y honestos con lo que no saben hacer.

Lo que no entrego

Promesas que el sistema no puede cumplir. Si tu negocio necesita algo que no tiene sentido, lo digo antes de empezar.

El portafolio

Cinco apps. Todas en producción.

Sistemas completos, con usuarios reales y datos reales. Cada tarjeta explica qué resuelve la app y cómo está armada por dentro; sus pantallas están un poco más abajo.

Insignia 2024 — hoy

Zentro POS

El sistema operativo del negocio y su tienda online, en una sola plataforma. Un lugar para vender en local, vender en internet, comprar, contar inventario y cerrar la contabilidad.

  • 107pantallas
  • 321endpoints
  • 72modelos de datos
  • 746commits

Anatomía del sistema

Cinco capas, de lo que el usuario toca a lo que se guarda en el servidor. Toca una capa para ver qué hay por debajo.

Lo que resuelve

  • Caja rápida y sin fricción. Buscar por nombre o código de barras, cobrar, ticket impreso. La pantalla no espera al servidor para pintar.
  • Varias cajas, un solo dato. Lo que vendes en una caja desaparece del inventario de las demás al instante.
  • Funciona sin internet. Si se cae la red, sigues vendiendo; al volver, todo se sincroniza solo.
  • Contabilidad que cierra. Libro diario, libro mayor, catálogo de cuentas, conciliación bancaria y cierre de período.
  • NCF fiscal. Secuencias por tipo de comprobante con los rangos que exige la.intellij de República Dominicana.
  • Control de crédito a proveedores. Cuánto le debes a cada uno, sus compras, sus pagos y su historial, en una pantalla.
  • Venta por rutas. El repartidor vende, cobra y cierra su ruta, con despacho, entrega y liquidación.
  • Tienda online por negocio. Cada negocio tiene su propio catálogo público, su checkout y el seguimiento de sus pedidos, bajo su propio enlace.
  • Panel de plataforma. Alta de negocios, usuarios, contactos y cobros, desde un lugar distinto al del día a día del negocio.
  • Alta sin fricción. Registro, prueba gratuita y contacto directo, para que alguien nuevo empiece solo.

Por qué no se rompe

  • Cola de sincronización: cada cambio se guarda y se reintenta hasta que el servidor lo acepta.
  • Cada negocio es un inquilino con su propio identificador en todos los registros: los datos de uno no se mezclan con los de otro, y cada uno tiene su catálogo, su tienda online y su configuración.
  • Permisos verificados en el servidor, no en el navegador.
  • Bitácora de auditoría de cada cambio importante.
  • Pruebas end-to-end, pruebas de carga y despliegue en contenedor.
Next.jsTypeScriptPrismaMySQL DexieSocket.IOTailwindPlaywright
Liviano 2026

Zentro POS Lite

Un punto de venta que hace exactamente cinco cosas. Para la farmacia o el colmado que no necesita contabilidad, sino cobrar bien y cuadrar el turno.

  • 11pantallas
  • 16modelos
  • 5funciones

Alcance real

Lo que hace desde el día uno

  • Ventas al contado
  • Turnos de caja con arqueo y diferencia
  • Directorio de clientes
  • Gastos categorizados y amarrados al turno
  • Compras a proveedores que recalculan el costo

Lo que entra después, si lo pides

  • Contabilidad y cierre de período
  • Reportes fiscales
  • NCF
  • Listas de precios
  • Bodega con múltiples ubicaciones

Por qué importa

Lo que no está, no se mantiene. Un POS que hace 40 cosas las hace mal; uno que hace 5 las hace bien y se instala en una tarde.

Además es multitienda y universal: cambias el tipo de negocio, el impuesto y la moneda en Ajustes, sin tocar código.

Lo que resuelve

  • Se instala en una tarde. Un proceso, una base, cero servidor de mapas ni pasarelas que configurar.
  • La caja no se traba. El cobro se pinta al instante; el número de ticket llega cuando el servidor responde.
  • El cajero no puede romper el turno. Gastos y compras los hace el administrador, y el servidor lo rechaza aunque se salte la pantalla.
  • Las otras cajas se enteran. En 8 segundos, sin recargar, sin parpadear.
  • Costo real, no inventado. Costo promedio ponderado en cada compra, para que la utilidad del día sea real.

Detalles que importan

  • Base de datos propia y separada: un error tuyo no toca el sistema viejo.
  • Dinero en centavos enteros, nunca en decimales flotantes.
  • Cantidades con 3 decimales: una farmacia vende cajas, un colmado vende kilos.
  • Nada se borra: se desactiva, y las ventas quedan enlazadas a lo que existía.
  • Cada cambio de stock queda con motivo: compra, venta, ajuste, merma o inventario inicial.
ExpressReactPrismaMySQL ZustandBroadcastChannel
Online 2026

HiperOfertas RD

Tienda en línea con dos audiencias: el público compra a precio de góndola y el revendedor a precio mayorista, desde el mismo catálogo.

  • 23pantallas
  • 40endpoints
  • 139commits
  • 8 srebuild

Lo que resuelve

  • Un catálogo, dos precios. Precio público y mayorista por producto, con el cliente viendo uno y el revendedor el otro.
  • Descuentos que escalan. Precio por volumen, y el total se calcula con el tramo que corresponde.
  • Visibilidad por audiencia. Puedes esconder un producto solo a mayoristas, o solo a clientes, sin duplicarlo.
  • Panel de administración real. Productos con galería, usuarios, proveedores, pedidos y banners configurables.
  • Asistente IA opcional. Responde preguntas del catálogo cuando el cliente no encuentra lo que busca.

Pensado para operar

  • Mobile-first: navegación inferior, controles táctiles de 48px mínimo.
  • Despliegue en contenedor con caché de compilación: el rebuild pasa de 5 minutos a 40 segundos.
  • Script de instalación de una sola vez para una PC nueva.
  • Script para bajar una copia de producción y trabajar en local sin tocar el servidor real.
  • Bootstrap del primer administrador: nadie queda fuera de su propio sistema.
Next.js 16Prisma 5MySQL 8 DockerDokployJWTGroq
Reservas 2026

Neorides

Reserva de traslados para transporte ejecutivo. Tarifa por millas reales, agenda que no se solapa y cliente que entra con su WhatsApp y un PIN.

  • 83pruebas
  • 13endpoints
  • 183lugares

Lo que resuelve

  • La tarifa no se discute. Se muestra el desglose: base, millas incluidas, millas extra. Con la distancia real de la carretera.
  • La agenda no se solapa. Cada viaje bloquea su duración más 20 minutos: 5 de espera del cliente y 15 de holgura.
  • El cliente entra sin crear cuenta. Su WhatsApp y un PIN de 4 a 6 dígitos, con freno a los intentos de adivinarlo.
  • El chofer tiene su panel en el móvil. Cambia el estado de los viajes, protegido por clave verificada en el servidor.
  • Funciona aunque fallen los mapas. Con 183 lugares de Las Terrenas de respaldo, el cliente puede ajustar distancia y duración a mano y reservar igual.

Decisiones honestas

  • Sin pasarela de pago: el negocio cobra en efectivo o por transferencia, y la app lo refleja así.
  • Sin insignia de "tráfico en vivo": la pila libre no da ese dato, y no se muestra lo que no se tiene.
  • El recibo por enlace es público a propósito, con un código de 6 caracteres que no se adivina.
  • 83 pruebas automatizadas sobre la parte que no falla: tarifas, solapamientos, horarios y teléfonos.
Next.jsPrismaLeafletOSRM NominatimscryptNode test runner
Finanzas 2026

Nestly

Control de finanzas personales que funciona sin internet. Gastos, ciclos de tarjeta de crédito y presupuesto mensual: se registra en el teléfono y se sincroniza solo cuando vuelve la señal.

  • 11pantallas
  • 32endpoints
  • 8modelos
  • 42commits

Lo que resuelve

  • Los gastos se registran sin señal. La app escribe en el teléfono y sincroniza sola cuando vuelve la red. Nada se queda sin guardar.
  • El ciclo de la tarjeta, a la vista. Fecha de corte, fecha de pago, saldo y pago mínimo: sin sorpresas a fin de mes.
  • El presupuesto avisa antes de romperse. Un tope por categoría, con avisos al 80% y al 100%, y el historial mes a mes.
  • Importar lo que ya tienes. Sube el Excel o CSV del banco y clasifica los movimientos por categoría.
  • Comprobantes junto al gasto. La foto o el PDF del recibo se adjunta a la transacción y se abre desde ahí.

Decisiones honestas

  • No mueve dinero ni cobra: es control, no banca. Quien mueve la plata es el banco de siempre.
  • Los datos viven en el dispositivo y en la base del usuario: nada se mezcla entre cuentas.
  • La misma app funciona de escritorio y de móvil, contra la misma base.
  • El correo verificado es obligatorio para entrar: no hay cuentas de pasada.
Next.jsReactPrismaMySQL DexieNextAuthRechartsPWA

Lo que te llevas

No son apps sueltas.
Es un método.

Estas ocho capacidades están presentes en todos los proyectos, y son las que separan un sistema que se usa de uno que se abandona.

01

Aislamiento por negocio

Cada negocio queda separado por construcción: con su propia fila dueña en todos los registros o con su propia base de datos. Un cliente nunca ve los datos de otro, ni por error ni por descuido.

02

Funciona sin internet

La app no se queda en blanco cuando la red falla. Se sigue trabajando, se guarda en el dispositivo, y se sincroniza sola cuando vuelve la conexión.

03

Cambios instantáneos

Guardar no es esperar. La pantalla refleja el cambio de inmediato y, si el servidor lo rechaza, se revierte y te avisa. Nunca te queda una pantalla mintiendo.

04

Permisos de servidor

El navegador no decide quién puede ver qué. Cada pedido se valida contra el servidor, con sesión firmada y roles reales.

05

Una sola fuente de verdad

Si un dato se puede marcar de dos maneras, se desincroniza solo. En mis sistemas el estado se deriva del dato real, no se guarda por convenience.

06

Bitácora de todo

Quién cambió qué, cuándo y de qué a qué. Escrita en la misma transacción que el cambio, para que no mienta.

07

Listo para crecer

Contenedores, respaldos, migraciones, pruebas de carga y despliegue automatizado. Sostiene el tráfico real, no solo la demostración.

08

En el idioma del negocio

Contabilidad que entiende un contador, inventario que entiende un almacenista, y una caja que un cajero entiende sin capacitación.

Empieza por aquí

¿Qué se parece a tu negocio?

Elige lo que se parece más a tu operación. Te digo con qué app arrancamos, qué falta y en cuánto tiempo.

Cómo trabajamos

De la idea al sistema andando.

Cinco pasos, y en cada uno sabes exactamente qué recibes y qué decides.

Bajo el capó

Herramientas que no se oxidan.

Elijo lo que se mantiene solo. Nada de frameworks de moda que hay que reescribir en dos años.

Interfaz

React Next.js TypeScript Tailwind Lucide react-window

Datos y servidor

Prisma MySQL SQLite Express Zustand Zod

Operación

Dexie Socket.IO BroadcastChannel Docker Playwright k6

Regla que sigo: el stack se elige según el problema, no según lo que se ve popular en GitHub. Si tu proyecto necesita una base en el navegador y nada más, te entrego eso — y te lo digo antes de empezar.

Siguiente paso

Cuéntame qué tienes
entre manos hoy.

Con una descripción de tu operación te digo en una sesión qué se puede construir, qué es urgente y qué es un lujo. Sin compromiso y sin PowerPoint de 40 diapositivas.

  • Diagnóstico inicial sin costo
  • Alcance por fases, con el valor de cada fase
  • Presupuesto y tiempo antes de tocar una línea

Tu mensaje queda registrado y te respondo por correo. También puedes mandarlo desde tu propia aplicación de correo.