En el desarrollo de cualquier proyecto hay cosas que se ven y cosas que no se ven. Las que no se ven suelen ser las que más trabajo han costado.
En TipDía, la función que más tiempo me llevó y que probablemente pasa desapercibida para la mayoría de usuarios es el sistema de anti-repetición.
La idea es simple de explicar: que un consejo sobre salud de hoy no repita lo que ya dijimos hace dos meses. Que la nostalgia de los años 90 no cuente dos veces lo mismo. Que el usuario que lleva seis meses usando la app siga aprendiendo cosas nuevas cada día.
Simple de explicar, complicado de hacer bien.
El primer intento fue demasiado rígido. El sistema bloqueaba tips que eran similares pero no iguales, y en temas con vocabulario muy específico — fitness, por ejemplo — eso hacía que la IA tuviera que reintentar demasiadas veces. Los tiempos de carga se disparaban.
El segundo intento fue demasiado permisivo. Empezaron a aparecer repeticiones que no deberían estar.
Al final llegué a un sistema que combina dos formas de comparar texto: una basada en palabras comunes y otra en similitud aproximada. No es perfecto — ningún sistema lo es — pero funciona bien en la práctica. Ahora compara cada nuevo tip con los últimos 365 días de ese tema antes de publicarlo.
¿Por qué cuento esto? Porque cuando alguien usa TipDía durante meses y sigue encontrando cosas nuevas, no es casualidad. Es trabajo que no se ve.
Hay mucho de eso en el desarrollo de software. Las funciones invisibles. Las que no aparecen en ninguna captura de pantalla pero que hacen que todo lo demás funcione. Me parece justo mencionarlo al menos una vez.