Tu santuario de lectura web local, privado y sin distracciones.
Guarda artículos con un solo clic y léelos después 100% offline — sin cuentas, sin telemetría y sin servidores en la nube.
| Navegador | Estado / Enlace | Método |
|---|---|---|
| 🦊 Firefox / Zen Browser | Descargar desde Firefox Add-ons (1 clic) | |
| 🌐 Chrome / Brave / Edge / Arc | Descargar paquete .zip (Cargar descomprimida) | |
| 💻 Página Web Oficial | Ver simulador y comparativa |
Pocket cerró en julio de 2025 y Omnivore en noviembre de 2024. Las alternativas actuales son servicios de suscripción mensual costosos o plataformas que requieren auto-hospedar servidores complejos (Wallabag).
Zen Reader apuesta por el minimalismo radical:
- 100% Local & Offline: Tus artículos se guardan en el IndexedDB de tu navegador.
- Sin Servidores: Cero costos, cero riesgos de cierre de servicio en la nube.
- Privacidad Total: Lo que lees nunca sale de tu dispositivo. Cero analíticas, cero rastreadores.
- Rápido y Liviano: Carga instantánea con cero impacto de memoria en segundo plano.
- Guarda cualquier artículo instantáneamente presionando:
Alt + Shift + S(o haz clic en el icono en la barra de extensiones).
La documentación técnica del proyecto está indexada en docs/README.md:
| Documento | Contenido |
|---|---|
| docs/roadmap.md | Features de V1 y plan V2/V3/V4, enlazado a issues y milestones |
| docs/development.md | Entorno de desarrollo, debugging y build para AMO |
| docs/decisions/ | ADRs — decisiones de arquitectura con contexto |
| docs/spec/v1.md | Spec histórica de desarrollo de la V1 (detalle de arquitectura, modelo de datos, paleta, criterios de aceptación) |
| Capa | Tecnología |
|---|---|
| UI | Preact |
| Bundler | Vite + @crxjs/vite-plugin |
| Estilos | Tailwind CSS v4 |
| Estado | Zustand |
| Persistencia | Dexie.js (IndexedDB) + unlimitedStorage |
| Parsing | Readability.js (Mozilla) |
| Sanitización | DOMPurify |
| i18n | chrome.i18n nativo |
| Backend | Ninguno — 100% local en tu navegador |
app/: Código fuente de la extensión de navegador (Manifest V3, Clean Architecture, Preact + Tailwind).web/: Landing page oficial (zen-reader.madeinchile.tech).
Clean Architecture con 4 capas estrictamente desacopladas:
app/src/
├── domain/ # Entidades y funciones puras, sin dependencias externas
├── application/ # Casos de uso y contratos (ports)
├── infrastructure/ # Adaptadores: IndexedDB, Readability, notificaciones
├── background/ # Service worker (orquestación de eventos)
└── presentation/ # UI en Preact: clipper, popup, dashboard
Verificación automática: Las reglas de dependencias se verifican en CI con
dependency-cruiser(npm run arch).
# Instalar dependencias
npm install
# ── Extensión (app) ──
npm run dev:app # Vite Dev Server con HMR (Chrome/Edge)
npm run build:app # Compilar extensión en app/dist
npm run build:firefox # Empaquetar .xpi para Firefox / Zen Browser
npm run arch # Verificar arquitectura con dependency-cruiser
# ── Landing Page (web) ──
npm run dev:web # Vite Dev Server para la landing page
npm run build:web # Compilar landing page estática en web/distPara compilar todo el proyecto:
npm run build-
Chrome / Brave / Edge:
- Abre
chrome://extensionsoedge://extensions - Activa el "Modo desarrollador"
- Haz clic en "Cargar extensión sin empaquetar" y selecciona
app/dist/
- Abre
-
Firefox / Zen Browser:
- Empaqueta la extensión:
npm run build:firefox - Abre
about:debugging#/runtime/this-firefox - Haz clic en "Cargar complemento temporal" y selecciona
app/dist/zen-reader.xpi
- Empaqueta la extensión:
Lee CONTRIBUTING.md antes de abrir un Pull Request. Para proponer nuevas funciones, usa la plantilla de Feature Request.
Licenciado bajo la Licencia MIT. Consulta LICENSE para más detalles.
Creado con serenidad por Made in Chile.