Quelora is an engagement layer you embed on any site with one <script>. Threads, profiles, follows, AI moderation, real-time chat and offline-first resilience — running on your own infrastructure.
Quelora es una capa de engagement que embebes en cualquier sitio con un solo <script>. Hilos, perfiles, follows, moderación con IA, chat en tiempo real y resiliencia offline-first — corriendo en tu propia infraestructura.
<script>
window.QUELORA_CONFIG = {
cid: 'QU-XXXXXXXX-XXXXX',
apiUrl: 'https://api.quelora.org'
};
</script>
<script type="module" src="https://cdn.jsdelivr.net/gh/Quelora/quelora-widget-community@v1.0.0/dist/quelora.js"></script>
The shiftEl cambio
Most comment systems are third-party scripts that monetize your readers' data. We took the opposite path: every piece of Quelora is open source, runs on your servers, and ships without analytics, ads or tracking. La mayoría de los sistemas de comentarios son scripts externos que monetizan los datos de tus lectores. Tomamos el camino opuesto: cada parte de Quelora es open source, corre en tus servidores y no incluye analytics, publicidad ni tracking.
Your users' identities, threads and behavior live on a SaaS vendor's servers — and leave when the vendor pivots, sunsets or hikes pricing.
La identidad, los hilos y el comportamiento de tus usuarios viven en servidores de un SaaS — y desaparecen cuando ese vendor pivota, cierra o sube precios.
"Free" comment widgets carry tracking pixels, ad slots and behavioral profiling that follow your readers across the web.
Los widgets "gratis" cargan pixeles de tracking, espacios de anuncios y profiling que siguen a tus lectores por toda la web.
Self-hosted. AGPL-licensed. No telemetry. No ad network. No analytics-for-resale. The only data flowing out is what you decide.
Self-hosted. Licencia AGPL. Sin telemetría. Sin red de anuncios. Sin analytics-para-vender. Solo sale lo que vos decidas.
What you getQué incluye
Each capability is real, shipped and open. Pick what your project needs — the rest stays out of the bundle. Cada capacidad es real, ya enviada y open source. Activá lo que tu proyecto necesite — el resto queda fuera del bundle.
Nested replies up to 10 levels, smart-rank or chronological sort, keyset pagination, soft-delete and edit windows.
Respuestas anidadas hasta 10 niveles, orden inteligente o cronológico, paginación por cursor, soft-delete y ventanas de edición.
Toxicity scoring on every comment via Google Perspective or self-hosted Detoxify. LLM moderation with OpenAI, Gemini, Grok or DeepSeek.
Toxicity scoring en cada comentario vía Google Perspective o Detoxify self-hosted. Moderación con LLM: OpenAI, Gemini, Grok o DeepSeek.
Live comment streams over Server-Sent Events. WebSocket-backed chat and "live mode" broadcast threads when you enable them.
Streams de comentarios en vivo sobre Server-Sent Events. Chat por WebSocket y hilos "live mode" cuando los activás.
A real follow graph — profiles, blocks, bookmarks, mentions, follow requests, mutuals, suggestions. Not just usernames on a comment.
Un grafo social real — perfiles, bloqueos, bookmarks, menciones, follow requests, mutuals y sugerencias. No solo usernames bajo un comentario.
Per-author reputation engine with configurable weights. Trust levels gate visibility, ranking and write actions automatically.
Motor de reputación por autor con pesos configurables. Los niveles de trust gatean visibilidad, ranking y acciones automáticamente.
The widget keeps working without a network. Optional resilience layer routes traffic over WebTorrent or Nostr peers when the server is degraded.
El widget sigue funcionando sin red. Capa opcional de resiliencia que rutea tráfico vía peers WebTorrent o Nostr cuando el servidor está degradado.
Points, badges, levels, leaderboards. Inline polls and surveys. Push notifications when readers interact.
Puntos, badges, niveles, leaderboards. Encuestas y polls inline. Push notifications cuando los lectores interactúan.
Locale auto-detected. Optional MaxMind geolocation. Per-comment language detection and on-demand machine translation.
Locale autodetectado. Geolocalización MaxMind opcional. Detección de idioma por comentario y traducción on-demand.
React SPA for moderation, analytics, RBAC with 7 roles, jobs, push, reputation tuning and per-tenant config. Multi-tenant from day one.
SPA en React para moderación, analytics, RBAC con 7 roles, jobs, push, ajuste de reputación y config por tenant. Multi-tenant desde el día uno.
The widgetEl widget
Built for sites that care about real performance budgets. Heavy work runs in a Web Worker; image and markdown processing happens in WebAssembly. The main thread stays free for your content. Pensado para sitios que cuidan los presupuestos de performance. Lo pesado corre en un Web Worker; imágenes y markdown se procesan en WebAssembly. El main thread queda libre para tu contenido.
Main thread for UI, Web Worker for network and crypto, Service Worker for push and offline cache.
Main thread para UI, Web Worker para red y criptografía, Service Worker para push y caché offline.
Activate gamification, surveys, chat, live or P2P per client. Disabled modules never ship to the browser.
Activá gamification, surveys, chat, live o P2P por cliente. Los módulos desactivados no llegan al navegador.
Pin to a release URL. Change a single tag to roll back. Or build the bundle yourself.
Fijás una URL de release. Cambiás un tag para hacer rollback. O lo buildeás vos mismo.
Get startedComenzar
Clone the components you need from github.com/Quelora and run them with Docker Compose: MongoDB, Redis, public API, dashboard API, worker.
Cloná los componentes que necesites desde github.com/Quelora y levantalos con Docker Compose: MongoDB, Redis, API pública, API del dashboard y worker.
From the dashboard, register a client. You get a CID (QU-XXXXXXXX-XXXXX) — the identifier the widget will use.
Desde el dashboard registrás un cliente. Obtenés un CID (QU-XXXXXXXX-XXXXX) — el identificador que usará el widget.
Paste the embed snippet on the right into your site's template. The interaction bar attaches itself to the elements you choose via a CSS selector.
Pegá el snippet de la derecha en el template de tu sitio. La barra de interacción se adjunta a los elementos que elijas vía un selector CSS.
All defaults are sensible. From the dashboard you can flip features, swap moderation providers, set toxicity thresholds and define reputation rules later.
Los defaults son razonables. Desde el dashboard podés activar features, cambiar proveedores de moderación, ajustar umbrales y reglas de reputación más tarde.
<!-- 1. Configure (above the script) -->
<script>
window.QUELORA_CONFIG = {
cid: 'QU-XXXXXXXX-XXXXX',
apiUrl: 'https://api.your-domain.com',
entityConfig: {
selector: '[data-entity]',
interactionPlacement: {
position: 'after',
relativeTo: 'h1'
}
}
};
</script>
<!-- 2. Load -->
<script type="module"
src="https://cdn.jsdelivr.net/gh/Quelora/quelora-widget-community@v1.0.0/dist/quelora.js"></script>
<!-- 3. Mark an article -->
<article data-entity="post-42">
<h1>Hello, world</h1>
</article>
# Clone every component you need
git clone https://github.com/Quelora/quelora-public-api
git clone https://github.com/Quelora/quelora-dashboard-api
git clone https://github.com/Quelora/quelora-dashboard
git clone https://github.com/Quelora/quelora-widget-community
# Bring up the stack
docker compose up -d
# Tail logs
docker compose logs -f public-api dashboard-api worker
# 1. Install the plugin from the .zip
wp plugin install quelora.zip --activate
# 2. Run the setup wizard in wp-admin → Quelora
# - paste your API URL
# - paste your dashboard JWT secret
# - the wizard syncs posts & users
# 3. The widget shows up under every post
# No theme changes needed.
No-code drop-in. Setup wizard, batch sync of posts and users, SSO. Works alongside your theme.
Drop-in sin código. Setup wizard, sync por lotes de posts y usuarios, SSO. Funciona junto a tu theme.
EditionsEdiciones
Quelora ships in two editions — both fully open under AGPL-3.0. There is no paid tier, no closed core, no hidden plugin. Pick what you need; activate the rest later. Quelora se distribuye en dos ediciones — ambas open source bajo AGPL-3.0. No hay tier pago, ni núcleo cerrado, ni plugin oculto. Elegís lo que necesites; activás el resto después.
Everything most sites need. Drop-in, self-hosted, no extra plugins.
Todo lo que la mayoría de los sitios necesitan. Drop-in, self-hosted, sin plugins extra.
Optional capabilities, lazy-loaded. Same license, same repos. Activate per tenant.
Capacidades opcionales, lazy-loaded. Misma licencia, mismos repos. Activación por tenant.
SourceCódigo
Quelora is split into independent repositories you can clone, fork or contribute to. Issues, PRs and translations welcome — the project is run lean, so expect honest response times. Quelora está dividido en repos independientes que podés clonar, forkear o donde contribuir. Issues, PRs y traducciones bienvenidos — el proyecto se maneja liviano, así que los tiempos de respuesta son honestos.
Embeddable widget. Main + Worker + Service Worker. ~300 KB gzip.
Widget embebible. Main + Worker + Service Worker. ~300 KB gzip.
Community-facing API. Express, MongoDB, Redis, BullMQ.
API pública. Express, MongoDB, Redis, BullMQ.
Admin API + Sentinel debug broker. WordPress sync endpoints.
API de admin + broker de debug Sentinel. Endpoints para WordPress.
Admin SPA — moderation, analytics, RBAC, jobs.
SPA de admin — moderación, analytics, RBAC, jobs.
WordPress plugin — setup wizard, batch sync, SSO bridge.
Plugin de WordPress — setup wizard, sync por lotes, puente SSO.
BullMQ workers — emails, push, notifications, reputation, suggestions.
Workers BullMQ — emails, push, notificaciones, reputación, sugerencias.
No vendor. No tracking. No surprise bill. Try the live demo or jump straight into the source. Sin vendor. Sin tracking. Sin facturas sorpresa. Probá el demo en vivo o sumergite directo en el código.