Caracas, Venezuela · GMT-4 · Disponible

Construyo los sistemas
que un negocio
todavía hace a mano.

Agentes de WhatsApp sobre la API oficial de Meta, automatizaciones en n8n autoalojado, y paneles multi-inquilino con el aislamiento hecho en la base de datos y no en código de aplicación que haya que creerle.

Todo lo de abajo corre en producción o tiene un cliente pagando. Las capturas son de las pantallas reales, no maquetas.

403
commits en 7 repositorios
6
sistemas en producción
530 ms
latencia de ingesta medida
$0–15
costo real por cliente al mes
Obras

Lo que ya está corriendo

Cada uno resolvió un problema concreto de un negocio real. Donde hay enlace, ábrelo y compruébalo tú mismo.

CuotaAlDía: portada del SaaS de cobranza para condominios, con panel de recaudación y conversación de WhatsApp
En producción

CuotaAlDía

SaaS de cobranza para condominios. Emite recibos por alícuota, cobra en dólares y en bolívares con abonos parciales, y concilia el pago móvil leyendo la captura que manda el propietario por WhatsApp.

La conciliación es el punto: el residente manda la foto del comprobante y el sistema la cruza contra el recibo que corresponde. Sin que nadie transcriba un número a mano.
Next.jsOCR con IAWhatsAppBs + USD
Cotizador en vivo: selector de línea de servicio y paquetes, con presupuesto y alerta de free tier calculándose al instante
En producción

Cotizador con guardia de costos

La calculadora con la que se arma un presupuesto mientras se habla con el cliente. Mueves las opciones y el total se recalcula en el momento, junto con la alerta de si ese cliente todavía cabe dentro del free tier de la infraestructura.

La decisión que importa: los precios salen de un price book único, no de una copia que alguien editó aparte. Cambiar un precio se hace en un lugar y se refleja en todas las cotizaciones — nunca hay dos verdades.
Next.jsPrice book centralCloudflare
Klass28 Spa: sitio del spa con reserva de citas
En producción

Klass28 Spa

Sitio y sistema de gestión para un spa en Caracas: agenda del día, cierre de caja, inventario y captación de leads de Instagram, con un bot que responde y agenda citas sin intervención humana.

El bot no es un árbol de menús: responde con la información real del negocio — servicios, precios y horarios — y pasa a una persona apenas la clienta lo pide.
Next.jsBot con IAInstagramAgenda
Calculadora de cómputo métrico según la norma COVENIN 2000-92, con partidas codificadas y resumen por capítulo
Demo abierta

Cómputo métrico COVENIN

Cargas las dimensiones de la obra y salen las partidas ya codificadas según la norma COVENIN 2000-92, con desperdicio aplicado y resumen por capítulo. Exporta a CSV para meterlo en el presupuesto.

Sale de mi otra mitad: ingeniería civil en la UCAB. Es el tipo de cálculo que en una oficina se hace en una hoja de Excel heredada que nadie se atreve a tocar.
COVENIN 2000-92CálculoExporta CSV
Brasa & Humo: sitio de la parrilla con carrusel de cortes y carta filtrable
En producción

Brasa & Humo

Parrilla al carbón. Carrusel de cortes navegable por arrastre, clic y teclado, y carta filtrable con ficha de temperatura y origen por plato.

Navegable por teclado desde el primer día — no como parche de accesibilidad al final, sino porque un carrusel que solo responde al arrastre está roto para media de la gente que lo usa.
Next.jsAnimación en scrollVercel
The Forge AI: portada de la plataforma con la que opero mi propio negocio
En producción

The Forge AI

La plataforma con la que opero mi propio negocio: cotizador, CRM, ruta de visitas ordenada por lo que hace que una visita valga hoy, motor de agentes y el manual de operación que usa el equipo.

Corre sobre n8n autoalojado en Cloud Run, con Gemini en Vertex y Groq. El costo real de operar un cliente va entre $0 y $15 al mes — y esa cifra es resultado de la arquitectura, no una casualidad.
n8n autoalojadoCloud RunGemini · VertexGroq
Sistemas de cliente

Sin captura, por respeto a los datos

Estos dos corren detrás de autenticación y las pantallas llevan datos de sus dueños. No los publico. Lo que sí puedo dar son los números verificables.

Cliente · panel privado

Panel de registros

Infraestructura de correo: ingesta catch-all por IMAP, extracción de campos del cuerpo del mensaje, y panel multi-inquilino. 6 tablas con RLS activo en todas, 13 políticas y 5 disparadores. Verificado con 7 pruebas de humo de idempotencia contra la base real — no una copia local — más 24 pruebas del extractor. Ingesta medida en 530 ms desde una edge function.

Cliente · panel privado

Forge Commerce

Tienda que la dueña administra sola. Sube la foto del teléfono, la IA le limpia el fondo por unos 4 centavos, y publica. La decisión que importa: la tienda pública es HTML estático y jamás toca la base de datos, así que una pausa del plan gratuito de Supabase no le tumba la tienda a una clienta que paga.

Cómo construyo

Cuatro decisiones que tomo siempre

No son preferencias de estilo. Son las que deciden si el sistema aguanta cuando el cliente ya depende de él.

01

El modelo nunca inventa un dato duro

Un precio, una referencia de catálogo o un saldo salen de una tabla, no de lo que el modelo recuerde. La IA mapea y clasifica; el número lo pone la base de datos. Lo que el modelo no logra emparejar con confianza va a una lista de pendientes — porque un hueco que se ve es mejor que un precio equivocado que no.

02

El aislamiento va en la base, no en el código

Multi-inquilino con row-level security aplicado en Postgres. Si el aislamiento vive en código de aplicación, depende de que nadie olvide un where nunca más. En la base, el motor lo garantiza aunque la consulta esté mal escrita.

03

Idempotencia antes que reintentos

Todo lo que entra lleva una clave de idempotencia, así que un mensaje reenviado actualiza en vez de duplicar. Los reintentos y el registro de errores se diseñan desde el principio, no se atornillan cuando ya falló en producción.

04

El costo es una restricción de diseño

Estrechar la búsqueda antes de llamar al modelo no es una elegancia: en un sistema con decenas de agentes, mandar el contexto completo en cada llamada se convierte en dinero real. Por eso opero clientes entre $0 y $15 al mes.

Cómo cobro. Precio cerrado antes de empezar, nunca por hora — no deberías pagar más porque yo fuera lento. Mitad al arrancar y mitad contra entrega, para que ninguno de los dos quede expuesto. Lo que factura un tercero, como los mensajes de Meta o los minutos de telefonía, se pasa al costo sin recargo escondido.

Una línea que no cruzo. No construyo software que emita facturas fiscales. La Providencia 121 del SENIAT regula a quien fabrica el sistema, no solo a quien lo usa, y meter a un cliente ahí sin homologación es meterlo en un problema que después es suyo.

Contacto

¿Qué hace tu equipo a mano todos los días?

Cuéntamelo y te digo si vale la pena automatizarlo. Si no vale la pena, te lo digo también — prefiero eso a venderte algo que no necesitas.