[verdetto][prompt curato][fonte: eloqra.app]
Posso vibecodare Eloqra?
// si costruisce in un weekend, ma restano buchi veri
La prima metà si costruisce in una sessione: un tag script che inietta la chat, un websocket, un bot che inoltra i messaggi su Telegram. Il buco è il lato operatore — appena hai più conversazioni aperte ti serve una inbox vera, cioè una Mini App Telegram, con regole di piattaforma che si scoprono nel modo lento.
confidenza: alta
cos’è: Widget di live chat gratuito per il tuo sito, con i messaggi che arrivano sul tuo Telegram
Indice di costruibilità · gioco editoriale
- Prezzo 4,99 $/mese peso: zero
- Tempo più giorni peso: più 1
- Categoria assistenza clienti non pesa
- Moat scala dell'infrastruttura · qualità di esecuzione peso: meno 3
- Confidenza alta peso: più 1
- Cosa perdi 5 voci peso: meno 2
- Sito eloqra.app (si apre in una nuova scheda) non pesa
Il moat pesa più del prezzo: rifarlo è un progetto, non una sera.
Gioco editoriale: il verdetto dice se un agente può, l’indice se conviene.
Cosa costruisci
Un solo tag script inietta un widget di chat nel tuo sito, i messaggi arrivano sul tuo Telegram e rispondere al messaggio del bot risponde al visitatore · una conversazione alla volta.
cosa ti serve
- un token di bot Telegram da @BotFather
- un host HTTPS per il websocket · Telegram non carica una Mini App su http in chiaro
- la registrazione su BotFather dell'URL della Mini App e del menu button, se vuoi una inbox vera e non le risposte dentro il bot
La chat è una serata · la console operatore su Telegram è la parte che si mangia il weekend, e per un sito solo è comunque gratis.
Il prompt
Un weekend con un agente di coding. I buchi che restano sono qui sotto, in «cosa perdi».
Build me a self-hosted live-chat widget whose inbox is Telegram. Requirements:
- Stack: a single Node + TypeScript service (Fastify) with SQLite via better-sqlite3.
No Docker, no separate frontend build, no accounts system.
- Embeddable widget: GET /widget.js returns a script that injects a launcher button and
chat panel into any page via one tag with data-site-id, rendered in a shadow DOM so the
host page's CSS can't leak in. No iframe. Read theme (light/dark), accent color, and
corner position from data- attributes.
- Transport: a websocket (ws) between visitor and server, with a long-poll fallback when
the socket won't open. Persist every message. Give the visitor a signed cookie id so
their thread survives a reload.
- On a conversation's first message, capture page URL, referrer, and user agent parsed to
device/browser/OS, plus coarse IP geolocation from a free API.
- Telegram: a grammY bot posts each new conversation to OWNER_CHAT_ID with that visitor
context. The operator answers using Telegram's native reply-to-message · map the
replied-to message id back to its conversation and push the text to the visitor live.
- Typing indicators in both directions, and an optional pre-chat form (name + email)
toggled per site.
- An /admin page behind basic auth listing conversations, each full thread, and a reply box,
so the widget still works when Telegram is unreachable.
- Secrets in .env: BOT_TOKEN, OWNER_CHAT_ID, ADMIN_PASSWORD, ALLOWED_ORIGINS for CORS.
- Ship a README with the exact snippet to paste and VPS deploy steps (systemd + Caddy for
TLS, since websockets need it).
- Deliberately out of scope: a phone operator console. That is a Telegram Mini App, a
second project with its own rules (initData HMAC auth, viewportStableHeight sizing,
safe-area insets); budget separate days for it. Also out: multiple operators,
billing, canned replies, AI autoresponders, and analytics dashboards. Prompt curato: scritto e rivisto a mano per questa app. In inglese di proposito — è la lingua in cui gli agenti di coding rendono meglio.
Cosa perdi
- una inbox da operatore vera · la console Mini App con la lista unificata dei thread su più siti, i badge dei non letti, gli indicatori di scrittura e i deep link che dalla notifica portano dritti nella conversazione · le risposte via bot coprono una chat alla volta, non cinque insieme
- la settimana che passi a imparare la webview di Telegram invece di scrivere funzionalità · auth HMAC su initData, dimensionamento su viewportStableHeight perché dvh sballa, due safe-area inset per non finire sotto la status bar in fullscreen, e la selezione del testo disabilitata, così copiare un messaggio richiede un long-press fatto a mano
- un piano gratuito · spenderesti giorni di lavoro più una bolletta mensile di VPS per rimpiazzare qualcosa che, per un sito solo, non costa niente
- tutto ciò che non è il percorso felice · riconnessioni del socket, invii duplicati, ordinamento dei messaggi su reti mobili instabili, rate limit di Telegram e code di retry, rotazione del token del bot
- un hosting sempre acceso · il tuo widget è morto ogni volta che lo è la tua macchina, il tuo certificato TLS o il tuo websocket, e una chat che smette silenziosamente di connettersi il visitatore la legge come te che lo ignori
Perché pagano ancora
Per lo più non pagano · per un sito solo non c'è niente da pagare. Il piano gratuito è per sempre, con conversazioni illimitate, inbox Telegram completa e mini-app, e tutte le opzioni del widget; 4.99 comprano uno slot di progetto in più per un secondo sito e nient'altro, e il badge «powered by» compare anche sui piani a pagamento. Qui la solita logica della death-list si ribalta. Non stai mettendo un weekend contro un abbonamento: stai mettendo un weekend più un VPS, i rinnovi TLS, la logica di riconnessione e la gestione dei retry di Telegram contro zero. La live chat è anche una promessa che dall'altra parte c'è davvero qualcuno, il che la rende una brutta cosa da appendere a una macchina che manutieni tra un lavoro e l'altro. L'unico motivo onesto per costruirtela: vuoi le conversazioni dei visitatori sul tuo hardware invece che su quello di qualcun altro. È tutto l'argomento, e non è di natura economica.
moat: Scala dell'infrastruttura Qualità di esecuzione cos’è un moat
piano gratuito/attriti di piattaforma/hosting
Alternative gratuite
Non hai voglia di costruirtelo? Queste esistono già, sono gratis o open source, e le abbiamo controllate una per una.
Scartate (1) — e perché
- Chatwoot (si apre in una nuova scheda) — Parla Telegram, ma le chat del sito restano dentro Chatwoot invece di arrivare su Telegram.
Chi l’ha già costruito
Partire da qui è vibecoding lo stesso: il prompt serve quando lo vuoi esattamente a modo tuo.
- Chatwoot (si apre in una nuova scheda) — self-hostable customer engagement suite · far heavier, but open source and battle-tested
Sei d’accordo?
La bilancia dei voti
Ancora nessun voto: il tuo è il primo.
Nessun voto ancora — il primo pesa.