Todos los proyectos

Foxy, una app de gastos que se usa hablando

Un producto de consumo decidido de extremo a extremo: cuánta fricción se acepta, qué se automatiza y qué se le pide al primer usuario.

Estado
En producción · abierta a testers, sin lanzamiento público
Autoría
Proyecto personal · producto, diseño, desarrollo y operación propios.

Todas las aplicaciones de gastos funcionan y casi nadie las usa dos semanas seguidas. El problema no está en las gráficas del final, está en el principio: anotar un café cuesta abrir la aplicación, elegir categoría, teclear el importe y confirmar. Son quince segundos que nadie dedica tres veces al día. Foxy parte de quitar ese trámite: se dice el gasto en voz alta y se acabó.

Eso traslada el problema a otro sitio. Cuando un modelo interpreta «treinta y cinco en el súper», acierta casi siempre y falla de vez en cuando, y hay que decidir qué se hace con esa duda. La opción prudente es enseñar siempre lo entendido y pedir confirmación. La opción cómoda es guardar y que el usuario lo revise si le apetece. Aquí el modelo puntúa lo seguro que está de su propia lectura, y por encima de un umbral el gasto se guarda solo, con cinco segundos para deshacerlo.

Descartado
Confirmar cada gasto antes de guardarlo
Elegido
Guardar solo por encima del umbral de confianza, con deshacer inmediato

Una confirmación en cada gasto devuelve el formulario que se venía a eliminar. Deshacer cuesta lo mismo que confirmar y solo se paga cuando hace falta.

El recorrido de un gasto

Dónde se decide si se pregunta o no

El modelo puntúa lo seguro que está de su propia lectura

  1. 01«Treinta y cinco en el súper»Voz
  2. 02TranscripciónWhisper
  3. 03Importe, categoría y fecha, con una puntuación de confianzaExtracción
Por encima del umbral

Se guarda solo

Cinco segundos para deshacerlo. El coste solo se paga cuando el modelo se equivoca.

Por debajo

Pregunta

La confirmación se reserva para la duda real, que es cuando aporta algo.

El umbral no es un ajuste fino: decide cuál de los dos errores posibles se prefiere pagar.

El otro problema apareció cuando la aplicación ya estaba entera y había que enseñarla. La puerta de entrada era un registro, que es pedirle a alguien su correo a cambio de la promesa de que lo que hay dentro le va a interesar. Se cambió por una entrada sin registro que abre una sesión temporal con tres meses de gastos ya sembrados y un recorrido de diez paradas por la aplicación, con datos que se borran al salir.

Primera parada del recorrido guiado, sobre la aplicación ya cargada
La primera de las diez paradas, sin haber dado un correo
Resumen del mes con disponible, gasto, ingresos y reparto por categoría
Y detrás, tres meses sembrados: nada que rellenar para entenderlo

Nadie se registra para averiguar si algo le interesa. Se registra cuando ya lo sabe.

Descartado
Registro antes de ver nada
Elegido
Sesión anónima con datos de ejemplo y recorrido guiado

Un producto vacío no se entiende, y el registro cobra por adelantado algo que todavía no se ha demostrado. Sembrar los datos y guiar el recorrido cuesta bastante menos que convencer a alguien de que se dé de alta a ciegas.

Debajo hay una decisión de coste que condiciona el resto. Hablar es la interacción más cara de todas si cada frase pasa por un servicio de pago, así que la transcripción la hace primero el propio navegador, que no cuesta nada, y solo se recurre a un servicio externo cuando la precisión lo justifica. La interpretación del texto va a un modelo de la gama barata, porque extraer un importe y una categoría de una frase corta no exige el músculo de razonar sobre nada. Una aplicación de consumo que gasta por usuario y no cobra por usuario no tiene modelo de negocio, tiene una cuenta atrás.

Lo que hoy no está: no ha habido lanzamiento público ni campaña, la entrada sin registro sigue pendiente de una verificación antifraude antes de exponerla en serio, y no hay usuarios reales de los que presumir. Está listo para que lo pruebe gente y todavía no lo ha hecho suficiente gente. Decirlo de otra forma sería exactamente el tipo de afirmación que el resto de este sitio se dedica a no hacer.

Construido con

  • React
  • TypeScript
  • Supabase
  • Gemini Flash
  • Whisper
  • PWA