La mejor reseña de mi app de comedia vino de una mesa con cuatro amigos y una ronda de tragos.
Alguien dijo «cuéntanos un chiste». Hice lo que hace todo el mundo ahora: tomé el teléfono, abrí algo y empecé a deslizar con el pulgar mientras cinco conversaciones esperaban a que volviera. Ese es justo el comportamiento que construí Knora para evitar, y mi primera versión falló la misma prueba de la misma manera.
Knora es una app gratis para iPhone, disponible en el App Store. Agitas el teléfono, una breve pieza cómica se reproduce de principio a fin con una o dos voces, y después no hay nada más que mirar. No hay feed que deslizar, ni biblioteca que explorar, ni cuenta que crear. Toda la interfaz es un gesto. Está escrita para mayores de 18 por el lenguaje y los temas, que es justamente de lo que va la cosa y también la razón por la que no es para todos en la mesa.
Llegué ahí quitando dos cosas, y ninguna de las dos fue cómoda. La primera borró un formato que los usuarios ya entendían. La segunda borró la mayor parte de la app.
Lo primero que quité fue el formato del chiste
Knora empezó como una app de chistes de toc toc. Funcionaba, en el sentido de que producía chistes de toc toc a pedido. El problema era que la forma era el techo. Todo chiste de toc toc tiene el mismo esqueleto — la premisa, el «¿quién es?», el remate — y un modelo puede escribir uno bueno dentro de ese esqueleto y aun así producir siempre y solo un chiste de toc toc. La estructura decidía cuán graciosa podía ser la app, y ninguna cantidad de trabajo de prompt iba a vencer a la estructura.
Así que borré el formato. Eso significó borrar lo que la gente reconocía, algo extraño de hacerle a un producto que recién empezaba a funcionar.
Lo que lo reemplazó fue un conjunto de métodos cómicos en lugar de una plantilla. Cada pieza se construye con exactamente un método, nunca una mezcla de varios: una regla absurda real aplicada a algo diminuto, o una historia que se toma su tiempo y luego gira, o algo que abre como un cumplido y no lo es. Hay cuatro activos. El generador elige uno por pieza; la app nunca elige.
Ese único cambio hizo más por la salida que todas las revisiones de prompt anteriores. Que es la primera lección incómoda: a veces el modelo nunca fue el cuello de botella. El contenedor lo era.
Lo segundo que quité fue la interfaz
Quitar las pantallas fue más difícil, porque las pantallas son cómo les muestras a los usuarios que has construido algo.
Una app abierta en una mesa compite con la mesa. Cada elemento que agregaba — una lista navegable de voces, una biblioteca de piezas que te gustaron, un pequeño perfil — hacía que el teléfono fuera más interesante que las personas que sostenían los tragos. El brief dejó de ser «hacer una buena app de comedia» y pasó a ser «un gesto y el teléfono vuelve a bajar».
Así que no hay onboarding ni inicio de sesión. Puedes elegir una voz y un idioma si te importa, y si no, se elige un narrador aleatorio en el primer arranque y nunca abres la pantalla de ajustes. No hay personalización que ajustar, lo que significa que no hay personalización que equivocar.
Una app de comedia solo de voz y sin micrófono requiere algo de explicación, así que sin rodeos: nunca escucha. No hay nada que decir en voz alta ni nada que escribir. La pieza se escribe en un servidor y se envía al teléfono como audio; el teléfono es un parlante con un detector de sacudidas incorporado.
Lo que «sin UI» realmente obliga
Quitar la interfaz fue, antes que nada, una decisión de gusto. En un mundo donde cada app compite por tu atención con notificaciones y pantallas recargadas, yo quería una pantalla casi negra que se maneja sacudiéndola. Pero esa decisión arrastra un conjunto de restricciones de ingeniería, y esas son las que vale la pena detallar.
Cada agitación tiene que ser instantánea. Si una pieza tarda seis segundos en aparecer, la mesa ya siguió adelante y el teléfono está otra vez boca abajo. Por eso las piezas se escriben y se ponen en voz por adelantado y se sirven desde un catálogo. La generación en vivo existe, pero como respaldo y recarga — lo que evita que el catálogo se ponga obsoleto, no el camino en el que un usuario espera.
Sin navegación no hay elección. Sin una lista de dónde elegir, la app no envía estilo ni elección de modelo. El backend elige un método, escribe varios borradores y se queda con el mejor antes de que se genere cualquier audio. El juicio se mudó al servidor porque no había dónde ponerlo en la pantalla.
Una pieza está acotada a unos setenta y cinco segundos. Eso no es un límite técnico; es un presupuesto de duración de mesa. Suficientemente largo para contar una historia, suficientemente corto para que nadie en la mesa esté esperando el tercer minuto de algo que no funciona.
El cliente pesa 2.5 MB. Casi nada está en la app, porque casi nada debería estar en la app.
El escritor es intercambiable. Producción corre Gemini 3.8 Flash, con un modelo distinto haciendo la moderación y la selección best-of-N. Cambiar al escritor es un cambio de configuración y ningún release de la app, lo que importa cuando el modelo que usas se reemplaza cada pocos meses.
No puedes automatizar el gusto
Lo más útil que aprendí tiene que ver con la evaluación, y generaliza bien más allá de la comedia.
Cuatro veces separadas, los jueces automatizados puntuaron muy alto resultados que mi propio oído llamó poco graciosos. Cuatro veces. Un modelo puede decirte si la estructura está intacta, si el método es reconocible, si el giro llega en el lugar correcto. No puede decirte si el giro aterriza. Seguí intentando que lo hiciera, y seguía dándose la razón a sí mismo.
Así que dividí el problema en dos. Las comprobaciones mecánicas vigilan lo que se puede comprobar mecánicamente: cifras inventadas, texto fuente recitado, una acotación filtrada en medio de una línea, cualquier cosa que golpee hacia abajo a un grupo, un cuerpo, una enfermedad o un duelo. El oído decide todo lo demás, y dejé de intentar delegarlo.
Si publicas funciones de IA, esa división es la mayor parte del trabajo. Encuentra la parte de la calidad que es genuinamente verificable y automatízala sin disculpas. Después sé honesto — contigo mismo y con quien pregunte — de que el resto es criterio, y de que ninguna rúbrica hará que deje de serlo.
El README de este proyecto lo dice sin vueltas, y no he encontrado una forma mejor: nunca confíes en una aprobación automática de la comedia.
Lo que abandoné a propósito
Dos decisiones que parecen vacíos, y una que lo es.
No puedo ver cómo se usa la app. Sin SDK de analítica, sin cuenta, sin datos personales. La promesa de privacidad es real, y también lo es el costo: no sé qué piezas aterrizan, qué voces se saltan ni cuánta gente la abre dos veces. Me entero cuando alguien me lo cuenta.
No hay botón de compartir. Es una apuesta, y puedo estar equivocado. Compartir es cómo se suele difundir una app de comedia, y he decidido no construir el mecanismo. La apuesta es que el teléfono se pasa de mano en mano en la mesa en vez de que el enlace se pase en un chat de grupo. Si eso resulta estar equivocado, la solución es obvia y probablemente atrasada.
Todavía no hay valoraciones. Es nueva. Esa no es una decisión de diseño, es simplemente falta de gente.
La parte incómoda si trabajas en medios
Mi trabajo diario son las operaciones de medios. El número que he pasado una carrera optimizando es la atención: tiempo en el sitio, duración de sesión, frecuencia de retorno. Knora está construida para que el teléfono nunca retenga la atención de la mesa más que la pieza. Un movimiento, una pieza, y el teléfono vuelve a bajar — y puedes volver a agitarlo cuando la mesa quiera otra.
Medido como yo mido los medios, eso es justo lo extraño. No hay un feed que te arrastre de vuelta, ni una sesión que alargar, nada diseñado para retenerte más allá del chiste. Lo que sí hay es un motivo para volver a usarla — una pieza lo bastante graciosa como para ganarse el siguiente movimiento. Después de eso, te suelta.
No creo que eso la haga mejor producto que los que persiguen la atención. Sí la hace un recordatorio útil de que «más engagement» es una elección sobre lo que construyes, no una ley de la naturaleza. Y es mucho más fácil tomar esa elección en un proyecto paralelo por el que nadie paga.
Si has construido algo pensado para devolver la atención en vez de retenerla, de verdad me gustaría saber cómo lo razonaste — ese no es un espacio de diseño en el que pase mucho tiempo durante el día.
La app es gratis en el App Store, y las notas sobre el diseño están aquí. Si la pruebas y una pieza no aterriza, dímelo. Toda la app es el chiste.
Un abrazo, Chandler