Skip to main content

[verdict][curated prompt][source: eloqra.app]

Can I vibecode Eloqra?

// buildable in a weekend, but real gaps stay open

The first half is a one-sitting build and the second half isn't. A script tag that injects a chat panel, a websocket, and a bot that forwards messages so your native Telegram reply reaches the visitor · that works by dinner, and the prompt below builds it. The gap is the operator side. Replying inside a bot chat is fine for one conversation a week; the moment you have several going you want a real inbox, and in Telegram that means a Mini App, which is a second application with its own platform rules: auth is HMAC-validating initData against your bot token, the webview lies about its own height so you size from viewportStableHeight instead of dvh, fullscreen hides content under the status bar until you combine two different safe-area insets, and it disables text selection outright, so even copying a message means hand-rolling a long-press with a clipboard fallback. None of that is hard. All of it is discovered the slow way, on a phone, after the prompt has finished.

confidence: high

what it is: Free live-chat widget for your site that lands in your Telegram

Buildability index · an editorial game

  • Price 4.99 $/month weight: zero
  • Time multi-day weight: plus 1
  • Category customer support no weight
  • Moat infrastructure scale · execution quality weight: minus 3
  • Confidence high weight: plus 1
  • What you lose 5 items weight: minus 2
  • Site eloqra.app (si apre in una nuova scheda) no weight
Indice: minus 3. think twice

The moat outweighs the price: rebuilding this is a project, not an evening.

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

What you build

One script tag injects a chat widget into your site, messages arrive in your Telegram, and replying to the bot message replies to the visitor · one conversation at a time.

what you need

  • a Telegram bot token from @BotFather
  • an HTTPS host for the websocket · Telegram will not load a Mini App over plain http
  • BotFather registration of the Mini App URL and menu button, if you want a real inbox rather than bot replies

The chat is an evening · the Telegram operator console is the part that eats the weekend, and it's free for one site anyway.

The prompt

A weekend with a coding agent. The gaps that stay are right below, under “what you lose”.

One-shot prompt 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.

Curated prompt: written and reviewed by hand for this app. In English on purpose — it is the language coding agents work best in.

What you lose

  • a real operator inbox · the Mini App console with a combined thread list across sites, unread badges, typing indicators and deep links from a notification straight into the conversation · bot replies cover one chat at a time, not five at once
  • the week you spend learning Telegram's webview rather than writing features · initData HMAC auth, sizing from viewportStableHeight because dvh overshoots, two safe-area insets to stay clear of the status bar in fullscreen, and text selection disabled so copying a message needs a hand-rolled long-press
  • a free tier · you would be spending days plus a monthly VPS bill to replace something that costs nothing for one site
  • everything that isn't the happy path · socket reconnects, duplicate sends, message ordering on flaky mobile networks, Telegram rate limits and retry queues, bot token rotation
  • always-on hosting · your widget is dead whenever your box, your TLS cert, or your websocket is, and a chat that silently stops connecting reads to visitors as you ignoring them

Why people still pay

Mostly they don't · for one website there is nothing to pay. Free is forever, with unlimited conversations, the full Telegram inbox and mini-app, and every widget option; 4.99 buys an extra project slot for a second site and nothing more, and the 'powered by' badge appears on paid tiers too. So the usual death-list logic inverts here. You aren't weighing a weekend against a subscription, you're weighing a weekend plus a VPS, TLS renewals, reconnect logic, and Telegram retry handling against zero. Live chat is also a promise that someone is actually there, which makes it a bad thing to hang off a box you maintain between other work. The one honest reason to build your own: you want visitor conversations on your own hardware instead of someone else's. That is the entire argument, and it isn't a financial one.

moat: Infrastructure scale Execution quality what a moat is

free tier/platform friction/hosting

Free alternatives

Not in the mood to build it? These already exist, they are free or open source, and we checked them one by one.

Who has already built it

Starting from here is still vibecoding: the prompt is for when you want it exactly your way.

Do you agree?

The vote balance

Ancora nessun voto: il tuo è il primo.

Nessun voto ancora — il primo pesa.

Distribuzione dei verdetti n = 996

YES 153 KIND OF 451 — il verdetto di questa app NOT REALLY 392

From a Confusing Brief to a Complete UX/UI A vague brief becomes a navigable app. Product Ad From a Single Photo A photo becomes an animated ad, no code required. Get Claude to Watch Your Videos Claude watches your videos and turns them into text. Higgsfield Inside Claude Code Generate images and video while you code in Claude Code. Turn a Loom Recording Into a Web Page A screen recording becomes a web page, no code. Vertical Shorts With NotebookLM Your sources become a vertical short. Luxury Landing Pages on Lovable A luxury landing page from a single prompt. Excalidraw Running Locally Excalidraw free on your computer, no code. Mistral OCR in Your Workflow Extract text from documents with Mistral OCR. Claude SEO in the Terminal 25 free SEO skills inside Claude Code. Google Search Console inside Claude Code Search Console data inside your terminal. Claude Code Routines Claude working on its own, computer off. Clone a Landing Page in React With v0 Clone a real landing page into React code. Context Economy With Claude Work light and don't burn through Claude's limits. From Prompt to Self-Improving Skill Claude skills that learn from your mistakes. From NotebookLM to Canva: Presentations NotebookLM slides, finally editable in Canva. The Map for Understanding Every AI Tool 12 categories for placing any AI tool. Transparent PNGs With ChatGPT Real transparency, not a fake checkerboard. Animated Infographics With Gemini Infographics that loop, animated with Gemini. Market Research With Deep Research Deep Research as your market analyst. Get Cited by AI Search Engines (AEO) Become a source that ChatGPT and Perplexity cite.