gora.
ai chatbots · website chat · whatsapp · remote

AI Chatbot Developer for Websites and WhatsApp

Gora is an independent full-stack developer who builds AI chatbots for business websites and messengers: a chat on your site, an assistant on your WhatsApp number or in Telegram, answering from your own content and live data, with your team in the loop. One of them answers a store's support line: first to reply in 77% of conversations, with a 29-second median wait.

  • First to reply in 77% of a live support line's conversations
  • Median first reply of 29 seconds, against 2.7–4.4 minutes before
  • Unanswered conversations down from 16–18% to 3%

Each item below runs in a system I built; the numbers come from the support assistant's case study unless another project is named.

  • A chat for your website

    A loader script places an iframe on your page, so the site's styles and the chat's styles cannot affect each other, and the chat talks to the back end over a WebSocket. A signed-in customer gets answers about their own orders. The support assistant's website chat answers in about 3 seconds at the median.

  • An assistant on your WhatsApp number

    The bot answers on the number your customers already write to, while staff keep replying from the phone, and it stays quiet while a person is in the chat. On the official WhatsApp Business Platform, coexistence mode keeps that set-up: staff stay in the WhatsApp Business app and the bot sees their replies by webhook. The 24-hour window, templates and opt-in are worked out before launch.

  • Answers from live data, not guesses

    Order status, arrival time and links come from your system's API exactly as they are, and the bot calculates nothing on top. A link or a promised time that is not in the data is dropped before the answer goes out.

  • A check on every reply

    Every model answer goes through a guard that looks for 22 kinds of error: an invented time or phone number, an outside link, a promise to call back, a claim to be a real person. The answer is rewritten once with the reason given, and if it still fails, a fixed line that cannot be untrue goes out or a person takes over.

  • Your team stays in charge

    If someone from your team wrote in the chat in the last 15 minutes, the bot does not answer. Complaints and legal questions go to people before the model sees them, and a request for a person gets your contact details. Every rule the bot follows is explained on a card your team can read; on the support line the store owner and a dispatcher went through the first version item by item and gave 169 verdicts.

  • Switched on one class of answers at a time

    Order status, payment, a thank-you: each class of answers gets its own switch and a measurement on the log before and after. On the support line 15 waves opened over 10 days, and one that misfired was switched off after 14 minutes and two messages.

  • A knowledge base from your content

    Built from your FAQ, past conversations or your website. The support assistant's base holds 3,006 sample questions across 25 topics from the line's own history; chatbot.hiregora.com builds one from a site's pages and cites the sources in its answers.

  • Actions, not only answers

    Through your system's API the bot can pass a question to a driver or a manager and bring the reply back, or change an order after the customer confirms it. In its first three weeks of doing this the support assistant passed on 82 questions from customers.

Three systems in production. Two link to full case studies; the third is my own product.

Support line AI assistant — a store's WhatsApp line and website chat

An assistant that answers the customers of an online store with courier delivery, on WhatsApp and in the chat on its website (client under NDA).

What was done
A Python and FastAPI back end recognises the customer, reads their orders from the store platform's API, adds their memory card and asks GPT-5.2 for an answer in a strict JSON schema; a guard checks every answer for 22 kinds of error before it is sent. Classes of answers opened one at a time behind their own flags. The bot also passes questions to drivers and dispatchers and changes an order after the customer says yes.
Problem solved
The same questions reach the store's WhatsApp at any hour while staff answer from a phone between other jobs: in the summer, 16–18% of conversations got no reply at all.
Technology
  • Python 3.12 + FastAPI
  • PostgreSQL 16
  • Redis
  • OpenAI GPT-5.2, strict JSON schema
  • text-embedding-3-small + NumPy
  • Whisper
  • WebSocket website chat
In numbers
  • First to reply in 77% of conversations, with a 29-second median wait (5–19 October 2026)
  • 3% of conversations unanswered, against 16–18% when only people answered
  • 3,928 tests with no network access and 207 automated deploys

Read the case study →

chatbot.hiregora.com — a RAG chatbot for any website

My own product, in open beta: give it a URL and it builds a knowledge base from the site and answers visitors.

What was done
A sitemap-aware crawler builds the knowledge base from a site's pages, Claude answers with retrieval over pgvector, cites its sources and streams the reply over WebSocket, and the chat embeds with one script tag. The dashboard lists top questions and the topics the bot could not answer.
Problem solved
Give a website an assistant that answers from the site's own content and cites it, without a developer building one for every site.
Technology
  • Claude Haiku 4.5
  • voyage-3-large embeddings
  • FastAPI + Celery
  • PostgreSQL 16 + pgvector (HNSW)
  • Redis
  • Preact widget
In numbers
  • Claude Haiku 4.5 by default, Sonnet 4.6 on the Pro plan
  • 1024-dimension voyage-3-large embeddings; answers cite their sources
  • One script tag embeds the chat on any site

Open the product →

GoraBot — an AI assistant in Telegram

A Telegram assistant with 12 models from four AI providers in one chat.

What was done
Claude, GPT, Gemini and Grok behind one chat, with project contexts that keep their own history, voice replies, files and Free, Basic and Pro plans whose limits are enforced in the database.
Problem solved
Keep a long conversation and its context in one place while switching between models and providers, under one rate limit.
Technology
  • python-telegram-bot 21
  • Anthropic, OpenAI, Google, xAI SDKs
  • SQLite
  • FastAPI
In numbers
  • 12 models from four providers in one chat
  • 56 users and 1,783 generations in production on the publication date
  • 1,783 generations cost $43.3 in API fees

Read the case study →

Models
OpenAI GPT-5.2 · Anthropic Claude (Haiku, Sonnet) · Google Gemini · Whisper for voice messages
Retrieval
text-embedding-3-small · voyage-3-large · pgvector (HNSW) · NumPy neighbour search
Back end
Python 3.12 + FastAPI · PostgreSQL 16 · Redis · Celery
Channels
Website chat: iframe + WebSocket · WhatsApp Business Platform (Cloud API) · Telegram Bot API
Quality
Strict JSON schema · A guard with 22 checks · Replaying the log before each change · pytest with no network access
Operations
Docker Compose · GitHub Actions · nginx

Start from your real conversations: what customers ask, what the bot may answer on its own and where a person has to stay.

  1. 01 · First message

    Write to me on Telegram. In your own words, even if you don't know the technical terms. I care more about understanding what you want to build than what you call it.

  2. 02 · Reading between the lines

    Within a day or two I understand the task and give you an estimate of timeline and budget. If I see it isn't my case — I say so right away, no hedging.

  3. 03 · Lock-in

    Price and timeline — in writing. 50% upfront. After that things change only by mutual agreement, and rarely.

  4. 04 · Work

    I show interim results at my own pace. At the end — handover with documentation and access. First month of support is included by default.

  • Measured, not promised: the support line's numbers come from its own log, before and after the bot started answering.
  • The bot answers from your data and hands the rest to people; the checks around the model are code, not only a prompt.
  • One person builds the whole chain: the website chat, the messenger integration, the back end, the model layer and the deploys.
  • I plug into the system you already run, such as orders, a CRM or a help desk, through its API instead of replacing it.
  • Every rule the bot follows is written down in plain words, so your team can read it and say where it is wrong.
  • Direct communication with the developer, working remotely in English or Russian.

I work remotely with businesses in different countries, in English or Russian, over Telegram, email and video calls.

Model provider accounts, API keys and conversation data stay with you, and I sign an NDA on request. That is also why the store behind the support assistant stays anonymous in its case study.

Two costs apply. Development is quoted per project: it depends on the channels (website, WhatsApp, Telegram), whether the bot reads live data from your systems or acts in them, how many classes of questions it answers on its own and how strict the hand-off to people must be. I send a written estimate of timeline and budget, usually within a day or two of your first message.

Running costs go to the model provider and, on WhatsApp's official platform, to Meta for each delivered message. For scale: GoraBot's 1,783 generations across 12 models cost $43.3 in API fees. I log tokens per request from the first day, so the cost of every feature is visible.

How much does an AI chatbot cost?
Development is quoted per project: the channels, the integrations with your systems, how much the bot may do on its own and how it hands over to people. Model usage and, on WhatsApp's official platform, Meta's per-message fees are billed to your own accounts. Send a short description and I reply with a written estimate within a day or two.
Can the chatbot answer from my website or documents?
Yes. The knowledge base is built from your pages, FAQ or past conversations, and the bot answers from it. chatbot.hiregora.com, my own product, builds one from a site's URL and cites the sources; the support assistant's base holds 3,006 sample questions across 25 topics taken from the line's own history.
How do you stop the bot from making things up?
Live values such as an order status or an arrival time are taken from your system exactly as they are. A guard checks every answer for 22 kinds of error, including an invented time, an outside link and a promise to call back. A failed answer is rewritten once, then replaced with a fixed line or handed to a person.
Can the bot work on our WhatsApp number while staff keep replying?
Yes. The bot stays quiet when someone from your team has written in the chat in the last 15 minutes. On the official WhatsApp Business Platform, coexistence mode lets one number work in the WhatsApp Business app and the Cloud API at the same time, so staff keep using the app and the bot sees their replies by webhook.
What happens when the bot cannot answer?
The conversation goes to a person. Complaints and legal questions reach people before the model sees them, a request for a person gets your contact details, and an answer the bot is not allowed to send becomes a draft or waits for your team. On the support line 3% of conversations went unanswered, against 16–18% before the bot.
How long does a customer wait for an answer?
On the support line the median is 29 seconds when the bot answers first, and 20 of those seconds are deliberate: the gateway waits in case the customer adds another message. The website chat answers in about 3 seconds at the median.
Which AI model do you use?
The one that fits the task, tested on your own examples. The support assistant runs on OpenAI GPT-5.2, chatbot.hiregora.com on Claude Haiku 4.5, and GoraBot puts 12 models from four providers in one chat. The model provider account stays with you.
Who owns the bot and the data?
You do. Code goes into your GitHub repository, provider accounts, API keys and conversation data stay with you, and I hand over documentation and access at the end. I sign an NDA on request and the first month of support is included.

Describe the task in your own words. I respond within 24 hours, usually the same day on weekdays.

Elsewhere: GitHub·Telegram channel·Reddit·X