Volver
Finanzz

Aplicación PWA para gestión de finanzas personales con inteligencia artificial, registro inteligente de transacciones, reconocimiento de voz y escaneo de facturas.

Finanzz es un asistente financiero personal que ataca la raíz del problema: el tedio de registrar gastos. En lugar de formularios, Finanzz utiliza IA conversacional con IA para que puedas registrar transacciones hablando o dictando. ¿Tienes un recibo? Tómale una foto y la IA extraerá los datos por ti. La app no solo registra, sino que categoriza inteligentemente tus gastos y te permite organizarlos en listas de finanzas separadas (personal, negocio, etc.). Construido con un stack moderno (Next.js, Supabase Vector), Finanzz está diseñado para ser rápido, intuitivo y conversacional. El resultado es una herramienta que transforma una tarea odiosa en una experiencia fluida, haciendo que la gestión financiera sea tan simple como enviar un mensaje de texto.

Fecha de proyecto

Octubre 06, 2024

Stack

Next.js 15, React 19, Tailwind CSS v4, TypeScript 5, Zustand, TanStack React Query, Radix UI, Framer Motion, Supabase (PostgreSQL), Cloudinary, Clerk, Google Gemini (NLP/OCR), Supabase Vector, Web Speech API

Mi Rol

Full Stack Developer

Finanzz

Finanzz

Finanzz: Cómo creé un asistente financiero con IA para dejar de odiar el registro de gastos

Un caso de estudio sobre la creación de una PWA con Next.js, IA conversacional (Gemini) y búsqueda semántica (Supabase Vector).

Finanzz App Screenshot

💡 La Idea: El Problema que Quería Resolver

Siempre me ha frustrado la tediosa tarea de registrar cada gasto. Las apps de finanzas existentes se sentían como hojas de cálculo glorificadas: llenar formularios, seleccionar categorías de listas interminables, introducir cada detalle manualmente. Era agotador y, sinceramente, la razón por la que siempre terminaba abandonando el hábito.

Me pregunté: ¿Y si pudiera gestionar mis finanzas simplemente hablando con mi teléfono, como si le pidiera algo a un asistente? ¿Qué pasaría si pudiera decir “Pagué 250 lempiras por la cena de ayer en el Trapiche” y la app entendiera automáticamente que fue un gasto de comida? ¿O si pudiera simplemente fotografiar un recibo y que se registrara solo?

De esas preguntas nació Finanzz, un proyecto enfocado en hacer que el seguimiento financiero se sienta menos como una obligación y más como una conversación natural con una herramienta inteligente.

✨ Características Principales

🛠️ De la Idea al Código: Retos y Soluciones de Ingeniería

Construir Finanzz fue un viaje fascinante a través de la integración de IA en una aplicación web moderna. Aquí detallo las decisiones y los retos más importantes.

El Corazón del Problema: Hacer que la IA “Realmente Entienda”

El verdadero desafío no era solo llamar a una API de IA, sino enseñarle a interpretar la ambigüedad del habla humana. Una frase como “lo de la gasolina del otro día, fueron 800” contiene una intención clara, pero es un reto para un sistema rígido.

Para resolverlo, desarrollé un sistema de prompt engineering robusto para Google Gemini. Tras muchas pruebas, conseguí que el modelo extrajera con fiabilidad entidades (cantidad, lugar, categoría, fecha) de frases complejas. Fue un proceso de iteración que me enseñó el poder y los matices de trabajar con LLMs. Para asegurar una experiencia de usuario fluida y mantener el cliente ligero, todas estas operaciones se ejecutan en el servidor gracias a los Server Components de Next.js 15.

Justificando el Stack: Decisiones y Trade-offs

Cada tecnología fue elegida con un propósito:

El Reto del OCR: Cuando las Facturas No Cooperan

Implementar el escaneo de facturas fue más complejo de lo esperado. Las facturas en Latinoamérica, a diferencia de otras regiones, no siguen un estándar. La posición del total, la fecha o el nombre del comercio varía enormemente.

La solución fue entrenar el prompt de Gemini Vision no solo para “leer”, sino para “entender” la estructura de una factura, buscando patrones clave como Total:, Subtotal:, fechas en distintos formatos y nombres de comercios, sin importar su ubicación en la imagen.

🚀 Mi Rol en el Proyecto

Como único desarrollador de Finanzz, mis responsabilidades abarcaron todo el ciclo de vida del producto:

📈 Resultados y Mejora Continua

Finanzz no es solo un proyecto de portafolio, sino una herramienta que resolvió un problema real para mí y que tiene el potencial de ayudar a otros.

🤔 Reflexión y Aprendizaje

Este proyecto fue una inmersión profunda en la creación de productos de IA de principio a fin. Mis mayores aprendizajes fueron:

  1. La IA es un Socio Creativo, no una Caja Negra: Trabajar con Gemini me enseñó que el prompt engineering es un arte. No se trata solo de pedir datos, sino de guiar al modelo, darle contexto y enseñarle a pensar como un asistente financiero.
  2. La Simplicidad es la Máxima Sofisticación: En un mundo lleno de funciones, me enfoqué en hacer una cosa excepcionalmente bien: el registro de transacciones. Esta obsesión por el “trabajo a realizar” (Job To Be Done) fue clave para no perderme en funcionalidades innecesarias.
  3. El Poder de un Stack Moderno: La combinación de Next.js, Vercel, Supabase y Clerk me permitió, como desarrollador en solitario, construir y desplegar una aplicación compleja a una velocidad que antes solo era posible para equipos grandes. Los Server Components, en particular, cambiaron mi forma de pensar sobre la interacción cliente-servidor.

Finanzz es el resultado de mi pasión por resolver problemas cotidianos con tecnología. Es un testimonio de cómo la IA, cuando se aplica de forma reflexiva, puede transformar tareas tediosas en experiencias fluidas y agradables.

🔮 Lecciones y Próximos Pasos

Construir Finanzz fue un máster acelerado en la integración de IA en una aplicación web moderna. La lección más grande fue que trabajar con LLMs es más parecido a enseñar que a programar: requiere paciencia, iteración constante y una comprensión profunda de cómo estos modelos “piensan”.

El roadmap a futuro incluye:


Construido con ❤️ por Yamir Alejandro Rodas Elvir