Producto propioDesign Engineer — de punta a punta
olbo
Una app de finanzas personales que lee tu ritmo de gasto, no tu saldo: diseñada, construida y lanzada en solitario.
El producto
Un gasto registrado en cuatro toques; el ritmo del mes se actualiza antes de que se cierre la hoja.
- / Rol
- Design Engineer — de punta a punta
- / Duración
- Semanas, y sigue en marcha
- / Equipo
- Solo — diseño, ingeniería, lanzamiento
- / Año
- 2026
El impacto
En vivo y en uso diario: registras un gasto con una foto, la voz, el mensaje del banco o un PDF, y un solo color te dice si el mes va a buen ritmo.
Contexto
Las apps de presupuesto responden «cuánto te queda», la pregunta que angustia. Construí olbo para mi propio hogar: una PWA local-first en pesos colombianos cuyo semáforo compara el ritmo de gasto con el calendario.
Qué hice
- 01
Producto e interfaz: 24 vistas, del tablero del semáforo a la IA que lee recibos, voz y PDF.
- 02
Cero dependencias: módulos ES nativos, sin paso de build; matemática de presupuesto pura, así que 634 pruebas corren en 292 ms.
- 03
Privacidad comprobable: tus datos se quedan en el celular; lo único que sale de él es la llamada a la IA.
Qué puede hacer
La captura es donde mueren las apps de finanzas: si registrar cuesta esfuerzo, nadie registra. Por eso olbo toma un gasto como llegue.
- IA
Fotografía el recibo
Claude lee total, comercio y categoría en una tarjeta que confirmas antes de guardar.
- IA
Di el gasto en voz alta
«Cincuenta mil en el mercado» se vuelve un movimiento estructurado: Claude responde con una llamada a herramienta forzada, y si la confianza baja de 0,7, queda marcado para revisión.
- Producto
Pega el mensaje del banco
A propósito, sin modelo: un parser exacto lee los dos formatos del banco sin conexión, gratis, sin forma de inventarse un monto.
- IA
Lee el extracto completo de la tarjeta
Un PDF se vuelve datos: fechas de corte y de pago, tasa mensual, cada compra a cuotas y su plazo restante.
Cómo se hizo
- 01
El problema era mío
Cada app que probé contaba centavos en la moneda de otro. Primero el producto: pesos enteros, mis datos en mi propio celular, una pantalla que me diga si voy bien.
- 02
Hecho con IA, decidido por las pruebas
Programé en pareja con Claude, pero me negué a que el resultado fuera desechable: una capa de dominio pura, con «hoy» siempre inyectado, así que cada prueba corre en Node sin navegador. La IA escribía rápido; las pruebas decidían qué sobrevivía.
- 03
Lanzar, y después escuchar
En vivo como PWA instalable y sin conexión, con el service worker en la v150. El uso diario mostró lo que ninguna especificación habría mostrado: un error de zona horaria que dañaba el color de noche y recibos que me negué a volver a digitar.
Decisiones clave
El semáforo lee ritmo, no saldo
Ritmo de gasto sobre el mes transcurrido: verde hasta 1, ámbar hasta 1,25 y rojo por encima. Gastar el 90 % el día 28 está bien; el 80 % el día 10, no.
Las facturas variables nunca reservan plata
Luz, agua y gasolina solo cuentan cuando registras lo que de verdad costaron. Un estimado reservado puede pintar un rojo falso, y un solo rojo falso basta para dejar de creerle al color.
Privacidad que se puede comprobar, no solo leer
Todos prometen local-first. Aquí el encabezado CSP lo demuestra: nada sale del dispositivo salvo las llamadas a api.anthropic.com. Me costó todos los estilos en línea, incluso dentro de los SVG.
- Vanilla JS (módulos ES)
- PWA y Service Worker
- IndexedDB
- node --test
- CSP estricta
- Claude API
Diseño e ingeniería de punta a punta. Claude trabajó dentro del build y del producto; las decisiones, y las pruebas que las hacen cumplir, son mías.



