La historia open source detrás de PDF Cleaner
De una herramienta en Rust a una app web en el navegador — la historia y la filosofía detrás de PDF Cleaner.
PDF Cleaner empezó como un proyecto de fin de semana en Rust. Su autor era un estudiante de ingeniería español que estaba harto de descargar exámenes de Wuolah y encontrar cuatro páginas patrocinadas envolviendo cada página real. La primera versión eran 200 líneas de línea de comandos que leían un PDF, buscaban un puñado de palabras clave en español y descartaban las páginas marcadas. Se publicó en GitHub con una estrella roja y un guiño a la iconografía del cartel soviético — una broma sobre la contundencia con la que borra anuncios.
De la línea de comandos al navegador
Una CLI está bien para desarrolladores. Es terrible para los estudiantes que realmente necesitan la herramienta. Esta web reconstruye la misma idea como una app web pura: sin instalar, sin subir, sin esperar. Cada capa de detección se ejecuta en JavaScript dentro de tu pestaña, usando las mismas piezas (pdf-lib para editar, pdfjs-dist para extraer texto) en las que se apoyaba la CLI.
Las tres reglas que no rompemos
1. Cero subidas, jamás. En el momento en que añadamos una subida al servidor, nos habremos convertido en lo mismo que vinimos a sustituir. Si una función no puede correr en el navegador, no la lanzamos.
2. Cero patrones oscuros. Sin modal de newsletter, sin "regístrate para eliminar más de 10 páginas", sin rastreadores. El sello de la esquina dice gratis para siempre porque lo es.
3. Solo se borran páginas enteras. En cuanto empezamos a editar el contenido de una página, estamos reescribiendo el trabajo de alguien. La línea se queda en el borrado por página.
Hacia dónde va el proyecto
Más firmas de detección (Perlego, Course Hero y un par de plataformas francesas), mejor internacionalización y una pequeña biblioteca de "perfiles" compartibles para que un grupo de estudio se ponga de acuerdo sobre qué cuenta como anuncio. Todo lo que se pueda hacer en el navegador, lo haremos en el navegador. Lo demás, no lo haremos.