Sari la conținutul principal

[verdict][prompt curatoriat][sursă: eloqra.app]

Pot să vibecodez Eloqra?

// se construiește într-un weekend, dar rămân goluri reale

Prima jumătate se construiește într-o sesiune: un tag de script care injectează chatul, un websocket, un bot care redirecționează mesajele pe Telegram. Gaura e partea de operator — de îndată ce ai mai multe conversații deschise îți trebuie un inbox adevărat, adică o Mini App Telegram, cu reguli de platformă pe care le descoperi pe calea lentă.

încredere: ridicată

ce e: Widget de live chat gratuit pentru site-ul tău, cu mesajele care ajung pe Telegramul tău

Indice de constructibilitate · joc editorial

  • Preț 4,99 $/lună greutate: zero
  • Timp câteva zile greutate: plus 1
  • Categorie suport clienți nu cântărește
  • Moat scara infrastructurii · calitatea execuției greutate: minus 3
  • Încredere ridicată greutate: plus 1
  • Ce pierzi 5 elemente greutate: minus 2
  • Site eloqra.app (si apre in una nuova scheda) nu cântărește
Indice: minus 3. mai gândește-te

Moat-ul cântărește mai mult decât prețul: refăcut, e un proiect, nu o seară.

Gioco editoriale: il verdetto dice se un agente può, l’indice se conviene.

Ce construiești

Un singur tag de script injectează un widget de chat în site-ul tău, mesajele ajung pe Telegramul tău, iar dacă răspunzi la mesajul botului îi răspunzi vizitatorului · o conversație pe rând.

ce îți trebuie

  • un token de bot Telegram de la @BotFather
  • un host HTTPS pentru websocket · Telegram nu încarcă o Mini App pe http în clar
  • înregistrarea la BotFather a URL-ului Mini App și a butonului de meniu, dacă vrei un inbox adevărat, nu răspunsuri în bot

Chatul e o seară · consola de operator pe Telegram e partea care mănâncă weekendul, și pentru un singur site e oricum gratis.

Promptul

Un weekend cu un agent de coding. Golurile care rămân sunt mai jos, la „ce pierzi”.

Prompt one-shot EN
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 curatoriat: scris și revizuit manual pentru această aplicație. În engleză intenționat — e limba în care agenții de coding se descurcă cel mai bine.

Ce pierzi

  • un inbox de operator adevărat · consola Mini App cu lista unificată a firelor de pe mai multe site-uri, badge-urile de necitite, indicatorii de scriere și deep linkurile care duc din notificare direct în conversație · răspunsurile prin bot acoperă un chat pe rând, nu cinci deodată
  • săptămâna pe care o petreci învățând webview-ul Telegram în loc să scrii funcționalități · auth HMAC pe initData, dimensionare pe viewportStableHeight pentru că dvh o ia razna, două safe-area inset ca să nu ajungi sub bara de stare în fullscreen și selecția textului dezactivată, așa că a copia un mesaj cere un long-press făcut de mână
  • un plan gratuit · ai cheltui zile de muncă plus o factură lunară de VPS ca să înlocuiești ceva ce, pentru un singur site, nu costă nimic
  • tot ce nu e drumul fericit · reconectări de socket, trimiteri duplicate, ordonarea mesajelor pe rețele mobile instabile, rate limit-urile Telegram și cozile de retry, rotația tokenului de bot
  • un hosting mereu pornit · widgetul tău e mort de fiecare dată când sunt moarte mașina ta, certificatul TLS sau websocketul, iar un chat care încetează în tăcere să se conecteze e citit de vizitator ca și cum l-ai ignora

De ce se plătește în continuare

În mare parte nu plătesc · pentru un singur site nu e nimic de plătit. Planul gratuit e pe veci, cu conversații nelimitate, inbox Telegram complet și mini-app, și toate opțiunile widgetului; 4,99 cumpără un slot de proiect în plus pentru un al doilea site și nimic altceva, iar badge-ul „powered by” apare și pe planurile cu plată. Aici logica obișnuită a listei morților se răstoarnă. Nu pui un weekend contra unui abonament: pui un weekend plus un VPS, reînnoirile TLS, logica de reconectare și gestionarea retry-urilor Telegram contra lui zero. Live chatul e și o promisiune că de cealaltă parte chiar e cineva, ceea ce îl face un lucru urât de atârnat de o mașină pe care o întreții printre altele. Singurul motiv onest ca să ți-l construiești: vrei conversațiile vizitatorilor pe hardware-ul tău, nu pe al altcuiva. Ăsta e tot argumentul, și nu e de natură economică.

moat: Scara infrastructurii Calitatea execuției ce e un moat

plan gratuit/fricțiuni de platformă/hosting

Alternative gratuite

N-ai chef să ți-o construiești? Astea există deja, sunt gratuite sau open source, și le-am verificat una câte una.

Cine l-a construit deja

Să pornești de aici e tot vibecoding: promptul e pentru când o vrei exact în felul tău.

Ești de acord?

Balanța voturilor

Ancora nessun voto: il tuo è il primo.

Nessun voto ancora — il primo pesa.

Distribuzione dei verdetti n = 996

DA 153 CAM AȘA 451 — il verdetto di questa app NU CHIAR 392

De la brief confuz la UX/UI complet Un brief confuz devine o aplicație funcțională. Spot de produs dintr-o singură poză O poză devine un spot animat, fără cod. Fă Claude să vizioneze videoclipurile tale Claude îți vede videoclipurile și le transformă în text. Higgsfield în Claude Code Generează imagini și video în timp ce programezi în Claude Code. De la o înregistrare Loom la o pagină web O înregistrare de ecran devine o pagină web, fără cod. Video Shorts cu NotebookLM Sursele tale devin un short vertical. Landing page de lux pe Lovable O landing page de lux dintr-un singur prompt. Excalidraw local, pe computerul tău Excalidraw gratis pe computerul tău, fără cod. Mistral OCR în fluxul tău de lucru Extrage text din documente cu Mistral OCR. Claude SEO în terminal 25 de skill-uri SEO gratuite în Claude Code. Google Search Console în Claude Code Datele Search Console direct în terminal. Rutine în Claude Code Claude lucrează singur, cu computerul oprit. Clonează o landing page în React cu v0 Clonează o landing page reală în cod React. Context economy cu Claude Lucrează ușor și nu-ți epuiza limitele lui Claude. De la prompt la skill auto-evolutiv Skill-uri Claude care învață din greșelile tale. De la NotebookLM la Canva: prezentări Slide-uri din NotebookLM, în sfârșit editabile în Canva. Harta pentru a înțelege orice tool AI 12 categorii pentru a încadra orice tool AI. PNG transparente cu ChatGPT PNG cu transparență reală, nu tabla de șah falsă. Infografice animate cu Gemini Infografice care se animă în buclă cu Gemini. Cercetare de piață cu Deep Research Deep Research ca analistul tău de piață. Cum să fii citat de motoarele AI (AEO) Devino o sursă pe care ChatGPT și Perplexity o citează.