v1.0 · now open source v1.0 · ahora open source

Comments and community.
Open-source. Self-hosted. Yours.
Comentarios y comunidad.
Open source. Self-hosted. Tuyos.

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.

AGPL-3.0 Docker-ready 12 languages12 idiomas No tracking, no adsSin tracking, sin anuncios
your-site.html
<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

Comments shouldn't cost your audience's privacy. Los comentarios no deberían costar la privacidad de tu audiencia.

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.

Third-party ownership

Datos en manos ajenas

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.

Ads and tracking baked-in

Tracking y ads integrados

"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.

Quelora: yours by design

Quelora: tuyo por diseño

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

An engagement layer, not just a comment box. Una capa de engagement, no solo una caja de comentarios.

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.

Threaded discussionsHilos de discusión

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.

AI moderationModeración con IA

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.

Real-timeTiempo real

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.

Profiles & followsPerfiles y follows

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.

Reputation & trustReputación y trust

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.

Offline-first & P2POffline-first y P2P

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.

Gamification & surveysGamificación y encuestas

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.

12 languages, geo-aware12 idiomas, con geo

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.

Admin dashboardDashboard de admin

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

~300 KB. Web Worker. WASM. Offline. ~300 KB. Web Worker. WASM. Offline.

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.

3 execution contexts

3 contextos de ejecución

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.

Modular plugins, lazy-loaded

Plugins modulares y lazy

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.

Versioned CDN, instant rollback

CDN versionado, rollback inmediato

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.

Dashboard / analytics Live
Comments / 24h
2,184
+12.4%
Active users
312
+5.1%
Toxicity flag
0.4%
∼ baseline
Engagement · last 7d
RBAC · 7 roles Multi-tenant Jobs / BullMQ i18n · 12

Get startedComenzar

Embed in one line. Self-host in an afternoon. Embebé en una línea. Auto-hospedá en una tarde.

1

Spin up the backend

Levantá el backend

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.

2

Create a tenant

Creá un tenant

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.

3

Drop the snippet

Pegá el snippet

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.

4

Tune it (or don't)

Ajustalo (o no)

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.

index.html
<!-- 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>
terminal
# 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
wordpress
# 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.

Native WordPress plugin

Plugin nativo de WordPress

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.

Read moreVer más

EditionsEdiciones

Open source, all the way down. Open source, hasta el final.

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.

Community

Community Edition

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.

  • Threaded comments, likes, shares, bookmarks
  • Comentarios anidados, likes, shares, bookmarks
  • Profiles, follows, mentions, blocks
  • Perfiles, follows, menciones, bloqueos
  • AI moderation + toxicity scoring
  • Moderación con IA + toxicity scoring
  • Push notifications, web push (VAPID)
  • Push notifications, web push (VAPID)
  • Reputation engine, 7-role RBAC dashboard
  • Motor de reputación, RBAC de 7 roles
Enterprise

Enterprise modules

Optional capabilities, lazy-loaded. Same license, same repos. Activate per tenant.

Capacidades opcionales, lazy-loaded. Misma licencia, mismos repos. Activación por tenant.

  • Server-Sent Events + WebSocket chat
  • Server-Sent Events + chat por WebSocket
  • Live-mode broadcast threads
  • Hilos broadcast en modo live
  • Surveys, polls, gamification, advertising
  • Encuestas, polls, gamificación, advertising
  • P2P resilience (WebTorrent & Nostr)
  • Resiliencia P2P (WebTorrent y Nostr)
  • Adaptive resilience modes & offline fallback
  • Modos de resiliencia adaptativos y fallback offline

SourceCódigo

One repo per component. All on GitHub. Un repo por componente. Todo en GitHub.

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.

Run your community on your own infrastructure. Hacé funcionar tu comunidad en tu propia infraestructura.

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.