Del Infierno del Copiar-Pegar a la Magia de Un Solo Clic: Cómo Creé un Generador de Flashcards de Anki con IA usando Vibecoding

4 minute read

Interfaz principal del Generador de Tarjetas de Vocabulario Anki

Aprender vocabulario en inglés con Anki ha sido parte de mi rutina durante años. Pero crear flashcards de calidad era una pesadilla. Hasta que decidí usar vibecoding para solucionarlo.

El Problema: El Infierno del Copiar-Pegar

Antes de que existiera esta app, crear una sola tarjeta de vocabulario significaba:

  1. Pedirle a ChatGPT una definición estilo Cambridge Dictionary
  2. Copiar la definición, sinónimos y oraciones de ejemplo
  3. Generar una imagen con DALL-E u otro servicio
  4. Descargar la imagen y agregar el texto superpuesto
  5. Copiar el markup SSML que ChatGPT generaba
  6. Pegarlo en ElevenLabs para generar el audio
  7. Descargar el archivo de audio
  8. Agregar manualmente todo a Anki

Para UNA tarjeta. Ahora multiplica eso por cientos de palabras.

Proyecto de ChatGPT con instrucciones para flashcards

Así lucían las instrucciones de mi proyecto en ChatGPT—un prompt detallado pidiendo definiciones, ejemplos cloze, markup SSML y descripciones de imágenes:

ChatGPT generando contenido de flashcard

Y el SSML generado que tenía que pegar manualmente en ElevenLabs:

Interfaz de ElevenLabs TTS con SSML

Todo el proceso tomaba 5-10 minutos por tarjeta. Era agotador.

La Chispa: Chatterbox TTS

Un día, alguien mencionó Chatterbox—un modelo TTS de código abierto de Resemble AI que corre localmente. Gratis. Ilimitado. Con clonación de voz.

Eso me hizo pensar: ¿Qué pasaría si pudiera automatizar todo el proceso?

Así que empecé a hacer vibecoding.

¿Qué es Vibecoding?

Vibecoding es construir software describiendo lo que quieres a un asistente de programación con IA y dejando que escriba el código. Guías la “vibra” de lo que quieres, iteras sobre los resultados, y terminas con software funcional—frecuentemente sin escribir mucho código tú mismo.

Usé Claude Code (la herramienta CLI de Anthropic) para construir toda esta app. El proceso fue conversacional: describía features, Claude escribía el código, yo lo probaba, e iterábamos.

El Resultado: Generación de Flashcards con Un Clic

Ahora, crear una tarjeta se ve así:

  1. Escribe una palabra o frase
  2. Haz clic en “Generate All”
  3. Listo.

App generando flashcard "too far into the weeds"

La app automáticamente:

  • Genera una definición estilo Cambridge Dictionary
  • Crea ejemplos cloze con el markup correcto
  • Produce un prompt de imagen describiendo la escena del ejemplo
  • Genera una imagen estilo anime a partir del prompt
  • Agrega texto superpuesto con la frase
  • Crea audio con pausas naturales usando SSML

Generación del prompt de imagen

Y la tarjeta final en Anki:

Vista previa de la tarjeta Anki final

Cómo Funciona: Prompt Engineering sobre Modelos Fundacionales

La magia está en el prompt engineering—crear instrucciones específicas que los modelos fundacionales siguen para producir resultados consistentes y de alta calidad.

Generación de Texto (Múltiples Proveedores LLM)

La app soporta varios proveedores de LLM:

Proveedor Modelo Cómo se Llama
Anthropic Claude CLI claude -p
Google Gemini Vía integración MCP
OpenAI Codex/GPT CLI codex exec
Ollama Mistral, Llama, etc. API Local

Detrás de escenas, cuando haces clic en “Generate All”, la app ejecuta algo como:

result = subprocess.run(
    ["claude", "-p", prompt, "--no-session-persistence"],
    capture_output=True,
    text=True,
    timeout=self.timeout
)

El prompt está cuidadosamente diseñado:

system_prompt: |
  You are a vocabulary expert creating English learning flashcards.
  You always respond with valid JSON matching the exact schema requested.

  CRITICAL FOR EXAMPLES:
  - Each example MUST correctly demonstrate the definition's meaning
  - For IDIOMS: Use the FIGURATIVE meaning, not the literal meaning
  - Test: "Would a native English speaker use this phrase exactly this way?"

Generación de Imágenes (Múltiples Proveedores)

La app genera un prompt de imagen, luego lo envía al proveedor que elijas:

Proveedor Modelo Costo
Pollinations.ai FLUX Gratis
Alibaba Qwen ~$0.015/img
OpenAI DALL-E 3 ~$0.04/img
Google Imagen ~$0.02/img
Stability AI SDXL ~$0.002/img
Local Stable Diffusion Gratis

Generación de Audio (Proveedores TTS)

Para audio, puedes elegir entre:

Proveedor Modelo Costo
Chatterbox TTS Local Gratis
ElevenLabs Eleven Multilingual v2 Por carácter

La app maneja el parsing de SSML, timing de pausas y normalización de audio automáticamente.

audio_generator = self.client.text_to_speech.convert(
    text=processed_text,
    voice_id=voice_id,
    model_id="eleven_multilingual_v2",
    voice_settings=voice_settings,
)

Bonus: Clonación de Voz Personalizada

¿Quieres aprender con una voz familiar? La app soporta clonación de voz usando Chatterbox. Puedes:

  1. Grabar tu propia voz (o la de un amigo con permiso)
  2. Subir un archivo de audio como muestra de referencia
  3. Extraer audio de YouTube para contenido libre de derechos o muestras personales
  4. Generar todas tus flashcards con esa voz personalizada

La app incluso analiza la calidad del audio y recomienda la duración óptima del clip (10-30 segundos) para mejores resultados.

Interfaz de clonación de voz personalizada

¿Qué es Anki?

Anki es una app de flashcards gratuita y de código abierto que usa el Sistema de Repetición Espaciada (SRS) para optimizar el aprendizaje. Basado en la investigación de la curva del olvido de Hermann Ebbinghaus, SRS te muestra las tarjetas justo antes de que estés por olvidarlas.

La curva del olvido y la repetición espaciada

La app se conecta directamente a Anki vía AnkiConnect, así que las tarjetas se agregan con un clic—sin necesidad de importación manual.

Resumen de Modelos Fundacionales

Esto es lo que impulsa la app:

Proveedor Modelo Tipo
Anthropic Claude (vía CLI) Texto/LLM
Google Gemini (vía MCP) Texto/LLM
OpenAI Codex/GPT (vía CLI) Texto/LLM
OpenAI DALL-E 3 Imagen
Google Imagen Imagen
Stability AI Stable Diffusion XL Imagen
Alibaba Qwen (DashScope) Imagen
Pollinations.ai FLUX Imagen (Gratis)
Hugging Face Stable Diffusion v1.5 Imagen (Local)
Hugging Face Chatterbox (Resemble AI) TTS (Local)
ElevenLabs Eleven Multilingual v2 TTS

Conclusión

Lo que antes tomaba 5-10 minutos por tarjeta ahora toma 10 segundos. Y la calidad es mejor porque los prompts están refinados y son consistentes.

Este proyecto es un ejemplo perfecto de lo que es posible cuando combinas:

  • Prompt engineering para guiar el comportamiento de la IA
  • Modelos fundacionales de múltiples proveedores
  • Vibecoding para construir la app misma
  • Herramientas locales y en la nube como Gradio, Chatterbox y AnkiConnect

El futuro de las herramientas de productividad personal es construir exactamente lo que necesitas, con IA como tu compañero de programación.


¿Tienes preguntas o quieres discutir herramientas de aprendizaje impulsadas por IA? No dudes en contactarme en LinkedIn.