Blog
7 min de lectura

Cómo construimos una app de gastos personales con IA que lee tus tickets por ti

Un amigo nos dijo: 'Guardo todos los tickets en un cajón y al final del mes no sé en qué me he gastado el dinero.' Así nació Kash — una app que fotografía tickets, extrae los datos con IA y te dice exactamente a dónde va tu dinero.

IAOCRNext.jsSupabasePWAStripeClaude VisionGestión de gastos
𝕏in

Todo empezó con una frase que seguramente te suena:

"Guardo todos los tickets en un cajón. Al final del mes no tengo ni idea de en qué me he gastado el dinero."

No era un cliente. Era un amigo. Pero el problema es tan universal que decidimos resolverlo de la única forma que sabemos: construyendo algo que funcione de verdad.

Así nació Kash — una app de gastos personales donde le sacas una foto al ticket y la inteligencia artificial hace el resto.

📸 → 🧠 → 💰

Fotografía el ticket. La IA extrae los datos.
Tú solo revisas y guardas.

El problema real

Las apps de gastos que existen tienen todas el mismo defecto: te obligan a introducir los datos a mano. Tienda, importe, categoría, fecha... Si tienes que hacer eso por cada café, cada compra del súper, cada gasolinera — acabas abandonando en la segunda semana.

Y las que tienen OCR suelen ser genéricas, lentas, y fallan con tickets españoles (IVA desglosado, formatos variados, papel medio borrado).

1
Entrada manual — la gente abandona en 2 semanas
2
OCR genérico — no entiende tickets españoles, falla con IVA
3
Sin contexto financiero — registras gastos pero no sabes cuánto te queda

La solución: IA que entiende tickets

Decidimos usar Claude Vision (el modelo de IA de Anthropic) como motor de OCR. No un OCR genérico tipo Tesseract — un modelo de lenguaje con visión que entiende lo que ve.

Le das una foto de un ticket arrugado de Mercadona y te devuelve: tienda, fecha, productos con IVA desglosado, total. Le das un recibo de gasolinera medio borrado y extrae litros, precio por litro, total. Porque no lee píxeles — interpreta contexto.

// 📸 El usuario saca una foto
const photo = await camera.takePhoto()

// 🧠 Claude Vision analiza el ticket
const receipt = await parseReceipt(photo)
// → { store: "Mercadona", date: "2026-04-01",
//    items: [...], total: 47.83, tax: 4.35 }

// 💾 Se guarda categorizado automáticamente
await saveExpense(receipt)

Auto-categorización que aprende

Cuando guardas un gasto de "Mercadona", Kash lo categoriza como 🛒 Supermercado. La próxima vez que fotografíes un ticket de Mercadona, ya sabe la categoría.

Construimos un sistema de aprendizaje por vendedor: cada vez que confirmas o corriges una categoría, el sistema gana confianza. Después de 2-3 tickets del mismo sitio, ya no necesita preguntarte.

🧠

Aprendizaje por vendedor

Mercadona → 🛒 Supermercado (confianza: 95%). Repsol → ⛽ Transporte (confianza: 100%). El sistema aprende con cada ticket que guardas.

Carga múltiple: el cajón de tickets, digitalizado

Aquí viene lo que diferencia a Kash: la carga múltiple. ¿Tienes 15 tickets acumulados del mes? Selecciona todas las fotos a la vez. La IA los procesa en paralelo — máximo 3 simultáneos para no saturar — y te presenta una tabla de revisión donde puedes confirmar, corregir o descartar cada uno.

Hicimos que funcione incluso con fotos de iPhone en formato HEIC: se comprimen y convierten a JPEG antes de enviar a la IA. Sin que el usuario haga nada.

El balance mensual: saber cuánto te queda

Registrar gastos es útil. Pero lo que realmente cambia el comportamiento es ver cuánto te queda.

Kash tiene un sistema de ingresos mensuales donde registras tu nómina, ingresos extra, freelance... y el dashboard te muestra en tiempo real:

Ingresos
2.100€
Gastos
1.340€
Disponible
760€

Con barra de progreso y semáforo de colores: verde si vas bien, amarillo si estás en el 75%, rojo si te has pasado. Un vistazo y sabes cómo vas.

Rendimiento: 100/100/100/100

No tiene sentido construir una app bonita si tarda 4 segundos en cargar. Kash puntúa 100 en las cuatro categorías de Google PageSpeed — rendimiento, accesibilidad, buenas prácticas y SEO.

100
Rendimiento
100
Accesibilidad
100
Prácticas
100
SEO

¿Cómo? CSS inline crítico, browserslist moderno que elimina polyfills innecesarios, lazy loading agresivo, code splitting de Next.js, y cero dependencias pesadas. Cada decisión técnica pasó por el filtro de "¿esto añade peso?".

De módulo interno a producto independiente

Kash no nació como app independiente. Empezó como un módulo dentro de nuestra plataforma B2B. Pero cuando vimos que el producto tenía vida propia — y potencial para App Store — tomamos la decisión de separarlo completamente.

Migración completa en una sesión de trabajo: nuevo repo, nueva base de datos simplificada (de multi-tenant a single-user), DNS cutover sin downtime, Google OAuth verificado, y PageSpeed 100 conseguido con 5 commits incrementales.

Migración en una sesión

12 tablas nuevas, transformación completa de multi-tenant a single-user, DNS cutover, OAuth, brand icons, PageSpeed 100/100/100/100 — todo en un solo día de trabajo.

Qué incluye Kash hoy

📸

OCR inteligente

Fotografía un ticket y la IA extrae todos los datos

🧠

Auto-categorización

Aprende de tus hábitos y categoriza solo

📊

Balance mensual

Ingresos vs gastos con semáforo visual

📦

Carga múltiple

15 tickets a la vez, procesados en paralelo

🔒

Bóveda segura

Tarjetas y contraseñas protegidas con PIN

🔄

Suscripciones

Control de pagos recurrentes y próximos cobros

Lo que aprendimos

Construir Kash nos dejó varias lecciones que aplicamos ahora a todos nuestros proyectos:

1
La IA debe ser invisible — el usuario no quiere saber que hay un modelo de lenguaje detrás. Quiere que funcione.
2
El rendimiento no es negociable — si tu app tarda en cargar, el usuario vuelve a la libreta de papel.
3
Separa cuando tenga sentido — empezamos como módulo y migramos cuando el producto lo pidió. No antes, no después.
4
Error handling desde el día 1 — si la IA no puede leer el ticket, no falla en silencio. Avisa, sugiere, y deja corregir.

🛠️ Stack utilizado

Next.js 16 TypeScript Tailwind CSS v4 shadcn/ui Supabase Claude Vision (OCR) Stripe Vercel Resend PostHog PWA

¿Tienes una idea de app que necesita inteligencia artificial — OCR, categorización automática, procesamiento de datos? En Nexus Code diseñamos y construimos aplicaciones inteligentes a medida con el stack más moderno del mercado. Cuéntanos tu idea.

¿Te ha resultado útil?

4.5 / 5 — 12 valoraciones

¿Tienes una idea de app que necesita IA?

En Nexus Code diseñamos y construimos aplicaciones inteligentes con OCR, procesamiento de lenguaje y automatización. Cuéntanos tu idea.

Cuéntanos tu proyecto