Bot de finanzas por WhatsApp
Registra ingresos y gastos desde mensajes de WhatsApp con clasificación automática vía Workers AI, y un dashboard web para visualizarlos.
- Rol
- Proyecto personal
- Duración
- 2025 — Presente
- Año
- 2025
- Estado
- Live
El contexto
Registrar gastos manualmente en una app nunca me duró más de una semana. La fricción real estaba en el registro, así que moví el registro a donde ya escribo todos los días: WhatsApp. Mandas “almuerzo 18”, el bot lo clasifica solo y un dashboard web te muestra a dónde se va el dinero. Es un producto personal en producción.
Decisiones técnicas
1. API en el edge con Hono y D1
El backend es una API REST sobre Cloudflare Workers con Hono, con D1 (SQLite) + Kysely para consultas tipadas. Cliente y servidor viven en un monorepo pnpm que comparte los tipos, así el dashboard y la API nunca se desincronizan en la forma de los datos.
2. Clasificación automática con Workers AI
Cada mensaje entra por la WhatsApp Cloud API y pasa por Workers AI para clasificarse (categoría, monto, ingreso o gasto) sin que el usuario tenga que elegir nada de una lista.
3. Validación compartida y jobs programados
La validación es Zod compartido entre cliente y servidor — un solo schema como fuente de verdad. Los recordatorios y cierres periódicos corren con Cron Triggers + KV, y las piezas críticas están cubiertas con Vitest + Testing Library.
Lo que aprendí
- La mejor UX a veces es no construir UI: WhatsApp ya era la interfaz, solo había que ponerle un backend detrás.
- Compartir tipos y validación (Zod) en un monorepo elimina una clase entera de bugs de “el front esperaba otra cosa”.
- Workers AI resuelve la clasificación sin montar un pipeline de ML propio para un caso de uso personal.