Un tutor de inglés con IA que recuerda quién eres
Open Fluent es una app para practicar inglés hablando con un tutor de IA. Recuerda lo que le cuentas y los errores que repites, pero solo guarda lo que tú apruebas. Está en beta privada, por invitación.
Flutter · NestJS · voz en el teléfono · varios modelos de IA- 2
- capas de memoria del tutor
- 852
- pruebas automáticas en el servidor
El problema del cliente
Para soltarse en inglés hay que hablar todos los días, y las apps conocidas enseñan vocabulario pero no conversan. Los tutores de IA genéricos sí conversan, pero se olvidan de todo al cerrar la sesión: no saben qué te pasó ayer ni que siempre te equivocas con el mismo tiempo verbal.
Open Fluent es para un grupo cerrado de amigos que hablan español o portugués: dos sesiones de 10 minutos al día con un tutor que los recuerda, más rachas y un ranking para mantener la constancia. La regla del proyecto fue gastar lo mínimo posible en IA.
Arquitectura
- Hablar. La app reconoce la voz y lee las respuestas en voz alta con el motor del propio teléfono. Así la parte más usada no cuesta nada.
- Responder. El servidor manda la conversación a un modelo de IA y recibe la respuesta junto con las correcciones. Hay dos planes: el gratuito usa una cadena de cuatro modelos gratuitos y, si uno falla, pasa al siguiente; el pago usa modelos más rápidos.
- Recordar. Al terminar cada sesión, una sola llamada a la IA genera dos cosas. Una lista de datos personales con fecha (“tiene una entrevista el viernes”), que quedan pendientes hasta que el usuario los confirma o los descarta. Y una nota corta para el tutor con los errores que más se repiten, que el usuario puede editar o borrar. Solo lo confirmado entra en la próxima conversación.
Para elegir modelos definimos un criterio de admisión: 20 turnos de prueba con errores sembrados, y un modelo entra solo si devuelve respuestas bien formadas el 95 % de las veces y tarda menos de 8 segundos en el 90 % de los casos. Por ahora los modelos actuales se eligieron con mediciones manuales; el examen automático todavía no se ejecutó.
La decisión difícil y por qué
De “trae tu propia clave” a planes propios. Al principio cada usuario conectaba su propia cuenta de IA, así el proyecto no pagaba nada. En la práctica, ese paso espantaba a casi todos antes de la primera conversación. Lo reemplazamos por un enrutador propio de modelos con un plan gratuito y uno pago. Descartamos mantener las dos opciones porque duplicaba el trabajo sin resolver la fricción.
Respuestas flexibles en vez de formato estricto. Pedirle a la IA un formato rígido garantiza respuestas limpias, pero los modelos gratuitos rechazan ese modo. Elegimos un formato más flexible y una reparación automática de las respuestas mal armadas.
Sin reintentos automáticos. Sumar los reintentos de la librería a los del enrutador dejaba al usuario más de un minuto en silencio. En una conversación por voz es preferible fallar rápido y pasar al siguiente modelo.
Qué se rompió en el camino
- El tutor no recordaba nada. Había cero recuerdos guardados en toda la base. Si a un solo dato le faltaba la fecha, se descartaba la memoria completa de la sesión. Ahora se descarta solo el dato inválido.
- En iPhone, la app se cerraba al pedir el micrófono y, una vez resuelto eso, decía que no había reconocimiento de voz. El código buscaba el idioma escrito “en_US” y el iPhone lo llama “en-US”.
- El tutor hablaba en silencio en iPhone, porque el reconocimiento de voz dejaba el audio del teléfono en un modo que no reproduce sonido.
- Apple y Google rechazaron la app en la primera revisión: Google porque el botón de inicio de sesión no respondía, y los dos porque faltaba una cuenta de prueba para los revisores.
Resultado
- La app funciona en Android e iOS y está en beta privada, por invitación. La publicación en las tiendas está en revisión.
- Tiene 852 pruebas automáticas en el servidor y 52 en la app.
- La memoria en dos capas funciona y el usuario decide qué se recuerda de él.