Cómo creé un lector de libros electrónicos con IA — y ganó el usuario

La frustración que me llevó a programar con IA

Si puedes escribir o hablar, probablemente puedes vibe code. Es así de simple. Solo comunicas tu idea al chatbot de IA de tu elección con lenguaje natural, y él se pone a trabajar. Si bien no todos los proyectos terminan siendo gemas perfectas o completamente funcionales, el esfuerzo para crear una aplicación web solo chateando es mínimo.

He experimentado bastante con vibe coding, creando proyectos aleatorios aquí y allá. La mayoría de las veces lo he probado para propósitos de prueba de concepto o simplemente para probar chatbots, raramente en un intento de hacer algo crucial o funcional al punto de usarlo diariamente. Luego comencé a buscar un dispositivo de e-reader y me fui frustrado por lo increíblemente «tonto» que son la mayoría, especialmente los Kindles. Más sobre eso después.

Independientemente de la motivación (pero principalmente en desafío a Amazon), esto me llevó a intentar vibe codear una solución, pero con un giro. Quería ver si podía vibe codear una aplicación funcional de lectura electrónica con todas las características que quería. Sabiendo que incluso si lograba que esto funcionara, probablemente no lo usaría diariamente, pero quería agregar algo de estilo.

La pregunta se convirtió en qué chatbot de IA usar. No me molesté en elegir. Usé Gemini, Claude y ChatGPT para crear lo que quería y luego ver si alguno producía mejores resultados.

El desafío: crear el «Tome Reader»

Este proyecto nació de mi frustración con los dispositivos Kindle de Amazon. Cualquiera que le guste leer y escuchar sus libros puede hacerlo con resaltado de texto en tiempo real en la app para iOS o Android, pero después de todo este tiempo —casi 20 años— no puedes hacer esto en un Kindle. De hecho, no hace mucho que los usuarios obtuvieron la capacidad de lograr el resaltado de texto en tiempo real con el lector asistivo reproduciendo, lo cual está muy cerca de la funcionalidad de la app. Hasta ahora, solo puedes leer o escuchar un audiolibro en Kindle, no ambas cosas, lo cual es risible, y así fue la idea de Amazon siendo dueño de todos mis libros. Empecé a pensar que podría simplemente vibe codear una solución. Lo llamo el Tome Reader.

Quería crear una aplicación web de e-reader inmersiva que leyera tus libros en voz alta (con resaltado de texto en tiempo real, por supuesto) ya sea que el texto estuviera pegado o tu propio archivo PDF o EPUB fuera cargado. Además de leer el texto en voz alta, la web app crearía música de fondo dependiendo del contenido del texto en un subconjunto de categorías (neutral, horror gótico, ciencia ficción, naturaleza, fantasía, submarino, western, misterio), y generaría efectos de sonido y visuales adicionales cuando ciertas palabras clave fueran pronunciadas en tiempo real. Todo el proyecto fue creado en un solo archivo HTML para que pudiera ejecutarse dentro de un navegador web sin dependencias adicionales.

La estrategia: perfeccionar el prompt

Comparar chatbots es difícil de hacer, especialmente cuando intentas imitar la misma conversación o proyecto de vibe coding. Créanme, lo he intentado. Quería asegurarme de que todas las herramientas que probé usaran el mismo prompt, pero primero quería refinar ese prompt para obtener los mejores resultados, así que se me ocurrió una estrategia para llegar allí.

Primero, construí todo el proyecto en su nivel más básico con Gemini. Una vez que me gustó dónde estaba el proyecto (prueba de concepto exitosa y funcional), le pedí que creara un prompt para que pudiera agregarlo a cualquier otro chatbot. Gemini generó el prompt, lo guardé como archivo, y lo subí a Claude. Pasé por este proceso nuevamente, permitiendo a Claude detectar y arreglar cosas en las que no había pensado cuando construí el proyecto y Gemini. Una vez que se completó este proceso, le pedí que creara otro prompt para poder agregarlo a ChatGPT.

La idea era tener los tres chatbots con alguna aportación sobre la creación real del proyecto y, a su vez, el prompt final. Una vez que se creó el prompt, lo subí a los tres chatbots en un chat separado para ver qué tan consistentemente se desempeñaban.

Construyendo con los chatbots: la primera ronda

Gemini: La base funcional

Gemini me permitió descubrir hasta dónde podía estirar la función de esta web app, y así la mayoría de su funcionalidad proviene del chatbot de Google. Me permitió resolver algunos pequeños problemas al principio, que impedían que las voces TTS se cargaran. En su lugar, creó una pantalla de inicialización que forzaría la carga de las voces después de hacer clic en una pantalla «abierta» para la aplicación. Sin este tipo de conocimiento, el proyecto no habría despegado.

Poco a poco, la funcionalidad del proyecto comenzó a crecer. Debido a que los efectos de sonido en vivo para ciertas palabras podían ser distractivos, me aseguré de agregar la opción de apagar esos efectos de sonido y la música de fondo. Después de obtener una base de la aplicación funcionando, le pedí a Gemini que creara un prompt que pudiera compartir con otros chatbots para que pudiera construirlo en otros lugares si quería, y eso es lo que hizo.

Claude: Las refinaciones inteligentes

Claude hizo refinamientos fantásticos a la función subyacente de las palabras clave en este proyecto. Claude extendió el vocabulario y aumentó la visualización cuando se pronunciaba una palabra clave. Dicho esto, Claude hizo una llamada que no le pedí que hiciera, aunque la lógica realmente tenía sentido.

Inicialmente, pensé que el proyecto no estaba funcionando porque cuando fui a probar su funcionalidad, solo la primera palabra clave crearía el efecto deseado en una cadena de casi 10. Tomó algún tiempo para que Claude finalmente revelara que había decidido solo permitir que los efectos de sonido y visuales se activaran una vez por oración para no «spam» al usuario. Esto tenía mucho sentido, pero el proyecto era más prueba de concepto que lector funcional, y Gemini y ChatGPT generaron efectos de sonido para cada palabra clave, que era la funcionalidad esperada.

Todo eso dicho, no había instrucción específica dentro del prompt para la cantidad de veces que los efectos de sonido y visuales se reproducían. Si bien no era necesariamente lo que quería, sí aprecié la consideración de la experiencia general del usuario para hacer tal llamada. Luego, después de que se codificaron todas esas refinaciones, Claude actualizó el prompt, y me lo llevé a ChatGPT.

ChatGPT: El desafío de la consistencia

Para cuando había creado el prompt actualizado con Claude, no había mucho más que pudiera pensar hacer cuando lo subí a ChatGPT. Afortunadamente, el chatbot de OpenAI creó el proyecto con facilidad, a pesar de ser el más lento generando el código. La única función que le pedí a ChatGPT que agregara al proyecto —crear un control deslizante de volumen dedicado para la música de fondo para que pudiera apagarse completamente si alguien solo quería una experiencia de lectura electrónica dedicada— falló consistentemente. Eventualmente, volví a Claude para pedir esta funcionalidad y recrear el prompt.

Ronda 2: Recréalo todo de nuevo

A pesar de usar Gemini 3 Pro para construir inicialmente el proyecto y las versiones gratuitas de ChatGPT y Claude, los tres crearon el proyecto, pero no sin problemas. Pasé la mayor parte de mi tiempo dentro de Claude refinando el proyecto, y fue responsable de crear la versión final. Así que fue increíblemente sorprendente descubrir que cuando subí ese prompt a un nuevo chat, el proyecto no cargaría más allá de la primera página de «inicialización». A pesar de no tener problemas en absoluto con iteraciones anteriores, tomó 11 (sí, realmente) reconstrucciones completas adicionales para descubrir qué estaba pasando.

Recrear el proyecto con ambos Gemini y ChatGPT funcionó a la perfección. Todas las funciones, básicas y avanzadas, funcionaron como deberían, incluyendo carga de archivos, resaltado de prueba, salida de texto a voz, y efectos de audio y visuales cuando se pronunciaban palabras clave en voz alta. Volviendo a los modelos, vi muy poca diferencia en función o rendimiento al dar el mismo prompt a cada uno de los chatbots.

Las inconsistencias de los chatbots

Adquirir el archivo para probar siempre fue fácil con Claude. No solo ofreció una vista previa del proyecto para que nunca necesitaras descargar el archivo HTML en absoluto, sino que si querías (lo que a menudo hacía para probar), estaba disponible para descargar directamente. Esta opción solo a veces se ofrecía con ChatGPT, mientras que en otras ocasiones solo podía copiar el HTML y guardarlo yo mismo.

A pesar de tener la menor cantidad de errores y quejas generales con Gemini, siempre requería que tomaras la ruta larga y lo hicieras de esta manera. Todo eso dicho, el hecho de que ChatGPT solo a veces ofreciera permitirme descargar el archivo como HTML directamente era peculiar y un poco frustrante.

El ganador: Depende

Definir un ganador para este tipo de prueba es complicado, ya que todos los chatbots tienen pros y contras. En cierto sentido, todos ganan. Cada uno fue capaz de crear una versión funcional del proyecto en algún momento, pero a menudo tomó esfuerzos repetidos.

En última instancia, el ganador es el usuario. Esto demuestra que, independientemente del modelo que se use, un conjunto sólido de instrucciones puede llevarte lejos. No pude distinguir diferencias en rendimiento o función entre la app creada por Gemini 3 Pro versus las versiones gratuitas de ChatGPT o Claude.

Esto va directamente en contra de lo que encontré cuando tuve una conversación similar con ambos los modelos Gemini pro y gratuitos. Si bien ese fue otro día, otro proyecto y otro modelo, esto demuestra que un prompt sólido puede llevarte increíblemente lejos en el mundo del vibe coding.

Tags y frases virales para esta nota:

  • Vibe coding
  • IA generativa
  • Programación con IA
  • Chatbots de IA
  • Gemini vs Claude vs ChatGPT
  • Desarrollo de aplicaciones con IA
  • Tome Reader
  • E-reader con IA
  • Programación sin código
  • Inteligencia artificial para desarrolladores
  • Prompt engineering
  • Creación de apps con IA
  • Amazon Kindle vs IA
  • Lectura electrónica innovadora
  • Tecnología disruptiva
  • Futuro de la programación
  • IA vs programadores
  • Cómo crear apps sin saber programar
  • Revolución del vibe coding
  • IA que programa por ti

,


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *