Textos de estudio que se leen, se escuchan y se anotan

escolib es un kit open source para convertir fragmentos de estudio en lecturas web con narración sincronizada por oración y notas ancladas al texto. La curaduría se hace en una sesión de IA con el camino ya trazado; el resultado se lee, se escucha y se anota en cualquier dispositivo.

⚙️ Optimizado para Claude Code y Google Cloud: por ser un proyecto joven, el flujo de producción está documentado para esos dos proveedores — una sesión de Claude Code (comandos y contexto ya en el repo) y Google Cloud TTS para el audio (~US$2 por hora). Abrirlo a otros proveedores está en el roadmap. Leer, escuchar y anotar lo ya producido — como esta demo — no requiere nada: es HTML en el navegador.
El reader en modo página con la narración sincronizada resaltando la oración activa

Qué resuelve

No hay hoy una forma estándar de guardar — ni de compartir — un texto de estudio junto con su audio y sus anotaciones.

Las herramientas existentes cubren cada una un pedazo. Los e-readers (Kindle, Apple Books) anotan bien pero no narran texto propio; las apps de audiolibros narran pero no están pensadas para estudiar ni anclan notas al texto; las herramientas de texto-a-voz leen en voz alta pero no dejan nada persistente. Algunos productos pagos se acercan — pero ninguno produce un resultado transportable: el texto fiel de un fragmento, su audio sincronizado oración por oración y las anotaciones, juntos, en un formato que se pueda mover.

Sin un formato común, el trabajo de curar un texto — conseguir una buena edición, limpiarlo, narrarlo, anotarlo — se repite cada vez que alguien más estudia el mismo material.

El objetivo de escolib es estandarizar ese resultado para compartirlo: que el trabajo se haga una vez y le sirva al siguiente.

Cómo está pensado

Tres partes que marcan hacia dónde va el proyecto. Hoy conviven en este repo; a futuro pueden ser piezas independientes.

1

Un formato estándar y transportable

La pieza de estudio como paquete: texto curado, audio con timestamps por oración (timeline.json), formas habladas y anotaciones exportables. Hoy es una carpeta con convenciones claras; el objetivo es un paquete versionado con import/export — mirando de cerca EPUB 3 Media Overlays, el estándar real de texto+audio sincronizado.

EN DEFINICIÓN · el issue más importante del roadmap
2

Un reader que lo reproduce

Una app web self-hosted y sin cuentas: dos modos de lectura, notas por teclado y por dictado ancladas al texto, narración sincronizada que sigue la vista incluso entre páginas, export de notas, offline de lo visitado. Hoy es un solo archivo HTML sin dependencias; PWA instalable y apps móviles, en el roadmap.

FUNCIONA HOY · es la demo
3

Workflows de curaduría con IA

El camino trazado para producir contenido: sesiones de Claude Code con comandos (/new-lecture) y contexto que guían PDF → texto fiel → texto curado → narración, con ediciones reproducibles por script. Hoy está documentado para Claude Code y Google Cloud TTS; abrirlo a otros LLMs y agentes, y a otros proveedores de texto-a-voz (incluidos locales y gratuitos), está en el roadmap.

FUNCIONA HOY · con Claude Code

A escolib le falta mucho para llegar ahí — esto dice hacia dónde va cada parte, no lo que ya es.

Cómo se usa

El flujo completo, con lo que se necesita y lo que cuesta.

Necesitás: Python 3 · una IA con acceso al repo (hoy: Claude Code — los comandos y el contexto vienen incluidos) · y solo para narrar: una cuenta de Google Cloud TTS (~US$2 por 80 minutos de audio, se paga una vez por texto).
  1. Cloná y levantá el reader

    git clone + python3 serve.py. Ya tenés la biblioteca demo andando en tu red local — se lee desde el iPad o el celular sin instalar nada.

  2. Abrí una sesión de Claude Code y pedile /new-lecture

    Le das tu PDF (el apunte, el capítulo, el fragmento de cátedra) y la sesión te guía: evalúa la fuente, extrae el texto fiel por script reproducible, lo cura para estudio con ediciones documentadas, y prepara las formas habladas para la síntesis. Vos decidís en los casos dudosos.

  3. Narralo (opcional)

    python3 narrate.py <slug> sintetiza por oración con timestamps exactos y cache — corregir una frase después cuesta centavos, no el texto entero. Sin audio, todo lo demás funciona igual.

  4. Estudiá

    Leé en scroll o por páginas, escuchá con la vista siguiendo al audio, anotá con doble toque, dictá comentarios, exportá tus notas con contexto para una sesión de estudio con IA.

El reader funciona sin IA para leer lectures ya producidas. La IA hace falta para producir contenido nuevo, y es probable que siga siendo así: la curaduría es el tipo de trabajo que una sesión guiada resuelve bien.

El mismo reader en todos lados

Un solo archivo HTML sin dependencias: biblioteca con estantes y filtros en desktop, notas con dictado en el teléfono.

La biblioteca: estantes por materia con tarjetas de cada texto
La biblioteca: estantes, filtros por tags y avance de cada texto.
Una nota con resaltado, comentario y dictado por voz en un teléfono
Resaltado con manijas, comentario y dictado por voz, en el celular.

Quick start

# clonar y servir (la demo ya está adentro)
git clone https://github.com/patoschi/escolib.git
cd escolib/reader
python3 serve.py
# → http://localhost:8123/

# producir una lecture nueva: desde el repo,
# en una sesión de Claude Code
/new-lecture mi-apunte.pdf
  1. La demo incluye cinco textos de dominio público, tres con narración — para probar todo sin producir nada.
  2. El tutorial completo del flujo con Claude Code está en docs/tutorial.md: una sesión real comentada, de un PDF de cátedra a la lecture narrada.
  3. ¿Otra IA? El contexto del repo (CLAUDE.md, AGENTS.md) es legible por cualquier agente; adaptar el flujo a otros proveedores está en el roadmap.

Hacia dónde va

En orden de importancia. Todo vive como issues en el repo.

  • El paquete compartible — formalizar el formato de lecture (manifest, versionado, import/export desde el reader) y evaluar la convergencia con EPUB 3 Media Overlays. Es el pilar 1 hecho realidad: curás una vez, compartís el paquete.
  • Descarga de audio por lecture — narraciones remotas cacheables para escuchar offline, sin repos pesados.
  • Curaduría multi-IA — documentar y adaptar los workflows a otros proveedores además de Claude Code.
  • Síntesis multi-proveedor — hoy GCP Chirp3-HD; abstraer la capa de TTS (incluyendo opciones locales y gratuitas) conservando los timestamps por oración.
  • E-readers y apps — si el formato converge a EPUB3+SMIL, los lectores compatibles vienen gratis; PWA instalable mientras tanto.

No hay un modelo de negocio detrás: es open source colaborativo. La idea es simple — que curar un texto de estudio se haga una vez, bien, y se comparta.