Revisor
Académico
App web que analiza trabajos universitarios con la API de Claude. Extrae el texto directamente en el navegador para no enviar archivos al servidor, y devuelve feedback estructurado sobre estructura, argumentación y redacción.
¿Qué hace?
Subes un PDF con tu trabajo universitario, la app extrae el texto en el cliente (sin pasar por el servidor) y lo envía a la API de Claude para que lo analice. El modelo devuelve una puntuación global y feedback específico por dimensiones: estructura, argumentación, claridad expositiva y adecuación a los criterios de evaluación.
El motivo principal fue resolver un problema real: revisar borradores antes de entregarlos, con feedback más detallado y consistente que el de un corrector genérico. La extracción en cliente con PDF.js fue una decisión técnica clave — los PDFs universitarios pueden tener cientos de páginas, y enviarlo completo al servidor para procesarlo consumiría tokens innecesarios y añadiría latencia. Extraer el texto en el navegador permite chunking inteligente antes de llamar a la API.
Funcionalidades implementadas
PDF.js procesa el archivo directamente en el navegador. El texto se extrae página a página antes de enviarlo a la API, sin almacenar el archivo en ningún servidor.
Textos largos se dividen en bloques respetando los límites de párrafo antes de enviarse a la API, evitando superar los límites de tokens por request.
El prompt instruye al modelo a devolver JSON con puntuaciones por dimensión y feedback específico, en lugar de texto libre — parseable directamente en el frontend.
Se puede especificar la asignatura, el nivel (grado, máster, TFG) y los criterios de evaluación del enunciado para contextualizar el análisis.
Stack técnico
Frontend
Procesamiento
IA
Lo que estoy aprendiendo
Integración con LLMs
Cómo escribir prompts que devuelven JSON estructurado de forma fiable, gestionar errores de parsing y controlar costes con límites de tokens por request.
Procesamiento de PDFs en cliente
PDF.js como librería standalone en el navegador: extracción de texto página a página, manejo de PDFs escaneados (solo texto, no OCR) y rendimiento con archivos grandes.
Chunking de texto
Dividir texto largo respetando límites semánticos (párrafos, secciones) en lugar de cortes fijos, para preservar el contexto en cada llamada a la API.
UX con operaciones lentas
Feedback de progreso mientras se procesa el PDF y se espera la respuesta de la API, estados de carga por fases y manejo de timeouts de red.
Proyecto de uso personal. El repositorio será público próximamente.
Hablemos del proyecto