AI Chatbot Development Projects in HobartAI Chatbot Development Projects in HobartA Telegram bot that took a user from a single message to a finished, paid-for deliverable, with no human in the loop at any step. Built, deployed, and run in production; the bot has since been retired, and the source is public.
WHAT IT DID
A user started a conversation, answered a few questions about their niche, and the bot generated a complete business asset pack — content, copy, and supporting documents. It previewed part of the result, took payment, then delivered the full package as downloadable files.
HOW IT WORKS
A Node.js and Express service receives Telegram webhooks and routes them through modular command handlers, holding conversation state across a multi-step flow. The Anthropic Claude API does the generation, with configurable models, tuned token budgets, and automatic retry on transient failures.
Payment runs on Stripe, and the fulfillment path is idempotent by design: incoming webhook events are deduplicated by event ID, and a unique database constraint on the charge makes double-delivery and double-charging structurally impossible rather than merely unlikely. Session and usage state lives in Redis on Upstash, with an in-memory fallback so the service runs locally without external dependencies.
It ships as a multi-stage Docker image that runs as a non-root user with health checks and correct signal handling for graceful shutdown, behind a GitHub Actions pipeline that builds and validates the image on every push. Most AI site builders hand you one page and a prompt box. This one ask four questions and returns a complete, navigable website — Home, About, Services, Pricing, Contact — with working links between them, delivered as a preview URL and a downloadable .zip.
WHAT IT SELLS
A free homepage (one per day), a full five-page website, or a five-stage sales funnel. Payment runs on Telegram Stars, which is what Telegram requires for digital goods sold inside a bot.
HOW IT WORKS
A Node.js and Express service on MongoDB, running as a Telegram bot, a Telegram Mini App, and a Discord bot from one codebase. Claude generates the site in a three-stage orchestration — brief, then pages, then CSS — behind a single API client with a daily spend breaker.
The payment path is built around one rule: a build that fails after a successful payment must never lose the buyer's money. Generation never throws for content reasons; it returns a result object so the caller can decide. Failures refund automatically, without the buyer having to ask. Pricing is validated server-side from a single catalog, so the client can't propose its own price.
Preview and download routes use capability URLs — an unguessable 16-byte slug is the credential — because Telegram's open Link hands the URL to the system browser, which can't carry an auth header, and generated pages link to each other relatively.
Operationally: tiered rate limits per user, a one-build-at-a-time concurrency guard, a daily spend cap that pauses builds, and a health endpoint reporting uptime, database state, todays spend, and whether builds are paused. Deployed on Railway from a Docker image, behind a CI pipeline that runs syntax, unit, and end-to-end suites on every push — a red suite blocks the merge, so it never reaches production.
Discord runs the free tier as an acquisition channel and routes paying users to Telegram, because Discord has no arbitrary-amount invoice and no bot-callable refund.