Write us on Telegram@Odilient

AI & AUTOMATION

Nomadeo

AI sales agent for WhatsApp and Telegram that answers customers in Russian, Uzbek and Kazakh, grades deals and holds every price or discount for human approval.

Nomadeo
Client
Marketing & Sales
Industry
Ongoing since 2026
Duration
2026
Year
Where it started

The Challenge

Businesses in Uzbekistan and Kazakhstan sell through WhatsApp and Telegram, often in a mix of Russian, Uzbek and Kazakh, and leads go cold when nobody answers quickly. A chatbot that improvises prices or discounts is worse than no answer at all. The product had to reply like a trained salesperson at any hour, stay grounded in the company's own documents, and never commit to money without a person signing off.

What we did

The Solution

We built Nomadeo as a queued AI pipeline: one perception call per inbound message, hybrid retrieval over each business's own documents, arithmetic deal grading, fact extraction, tactic-based replies and nine guardrails before anything is sent. High-risk facts such as prices and discounts wait for human confirmation. The backend, rewritten from Laravel to NestJS on Fastify, runs on PostgreSQL with pgvector, Redis and BullMQ behind a Nuxt 4 app.

Built with
NestJSFastifyTypeScriptNuxt 4PostgreSQLpgvectorRedisBullMQDrizzle ORMOpenRouter
Inside the build

How It Came Together

An AI sales agent for WhatsApp and Telegram

Nomadeo is a sales and marketing operating system for small and mid-sized sales teams in Uzbekistan and Kazakhstan. Its AI sales agent answers customers on Telegram, WhatsApp and other channels in Russian, Uzbek or Kazakh, reads every conversation, grades each deal and explains why it replied the way it did. Anything that commits the business to money, such as a price, a discount or a deadline, stops and waits for a person to confirm.

The product started under the working name AdGen and became Nomadeo in August 2026. The web app is available in Russian, Uzbek (Latin and Cyrillic), Kazakh and English, and owners can see what every conversation and every won deal cost in inference.

Key features

  • Channels — Telegram, plus beta connectors for WhatsApp (Cloud API or a self-hosted gateway paired by QR code), Instagram Direct and Messenger through the business's own Meta app, SMS and WhatsApp via Twilio, Gmail and a chat widget for the company's website. Voice notes are transcribed and run through the same pipeline. Per conversation, the agent either answers on its own or drafts replies for a manager to send.
  • A "why?" on every reply — each AI message shows the sales tactic it chose, the sources it relied on and the checks it passed before sending, written for a sales manager rather than an engineer.
  • Facts, not guesses — commitments are extracted, risk-tiered and reconciled against earlier ones. Low-risk facts confirm automatically, while high-risk ones wait in a decision queue where a manager confirms or rejects them with a tap or a swipe, with undo. Confirmed facts can be pushed to a CRM over an HMAC-signed webhook.
  • Deal grades you can argue with — an A–D grade computed as arithmetic over conversation signals, each with its weight and source message, alongside a close plan and a suggested next step.
  • Guardrails before send — nine checks on every draft: grounding, discount authority, forbidden claims, prompt injection, personal data, stale facts, night mode, rate limits and budget. A blocked draft is recomposed or handed to a person.
  • Practice against synthetic buyers — a test page offers a customer chat, an open phone line with synthesized answers, and runs against buyer personas such as the skeptic, the price-only buyer and the one who disappears. Each run is scored and checked for guardrail breaches.
  • An assistant that works the product — one bar handles search and questions. List answers come back as a summary with a "Show" button that opens the real page with filters and highlighted rows, and changes arrive as confirmation cards. The same tools are exposed as an MCP server (beta), so ChatGPT and Claude connectors work with the signed-in user's permissions.
  • AI head of sales — a team view over the company's own chats and any connected CRM: deals that need attention, who can be won back, work quality, what works, lead sources, calls and spend.
  • Onboarding and workflows — the September 2026 redesign added a setup guide that builds the AI manager's profile from a website link, files or a short description, a voiced nine-step product tour that waits for the owner's own clicks, and a beta workflow builder with When, If and Do steps and a dry run.

Bitrix24: an AI head of sales inside the CRM

Bitrix24 is the first adapter on a generic CRM layer. Connecting a portal starts with a reconnaissance step that reports what it found, such as deal volume, calls against chats and how the funnel is set up, so the customer confirms the funnel before anything is imported. Nomadeo then appears in the portal's left menu. Managers get "My day" (who to answer now, what was promised, who can be won back), heads of sales get a department view, and every deal or lead card gets a tab with the chance of winning it back in words, one reason and a ready first message. Morning plans and summaries go out on Telegram.

The functions were validated against a real portal's archive. Call records are imported but not yet transcribed, and some functions, such as filling in missing card fields, are still diagnostic only.

Architecture and tech stack

Backend

The first build was a Laravel 13 API with Laravel Reverb for websockets, deployed as a Docker Compose stack behind an authenticated edge proxy. In August 2026 we rewrote it as a Node 24 and TypeScript service: NestJS on Fastify in a pnpm workspace, with Drizzle ORM over PostgreSQL 17 and pgvector, Redis 7 and BullMQ. One image runs as the API, a queue worker, the scheduler, the WebSocket gateway or a CLI, selected by a role variable, so every command uses the same model gateway and cost accounting as the API.

The reply pipeline

A webhook stores each inbound message synchronously so it appears instantly, and the rest runs on BullMQ queues: perception, fact extraction, grading, choosing the next step, reply composition, sending and post-processing. Each message gets exactly one perception call, which returns language, intent, signals, entities, candidate facts and injection suspicion in a single structured response. Model reasoning is off by default and switches on only for objections, negotiation and closing.

Memory, inference and cost control

Memory is hybrid retrieval over knowledge documents and past conversations, combining pgvector similarity, Postgres full-text search and trigram matching with reciprocal rank fusion. Every model call passes through one gateway with a budget guard, semantic cache, model router, versioned prompts, retries with fallback and cost accounting in micro-USD. Tiers route through OpenRouter, and a fixture provider replays recorded answers for offline runs.

Spend is capped globally and per tenant. Past a cap, the agent degrades step by step to a cheaper model, then to cache-only answers, then to a human, while public visitors and trials draw from their own daily pools. Managers see only opaque model labels such as "fast", "balanced" and "deep".

Security, frontend and tests

Tenant isolation is enforced in three layers: request context, a branded transaction type that makes a missing tenant a compile error, and Postgres row-level security. Requests to tenant-supplied URLs go through a guarded fetch that also blocks DNS rebinding. The web app uses Nuxt 4, Vue 3, Tailwind CSS 4, Pinia and Reka UI, installs as a PWA and updates live over private WebSocket channels. Tests are layered in Vitest across unit tests, integration tests on PGlite and end-to-end tests on Testcontainers.

Our role

We designed and built Nomadeo end to end: the original Laravel build, the NestJS rewrite, the Nuxt web app, onboarding and the tour, the channel and CRM integrations, and the Bitrix24 embedded app. Nomadeo also sells itself, with a house tenant that has its own playbook and knowledge running on the same pipeline. Development is ongoing.

Nomadeo draws on our AI integration and automation, Telegram bot development and web app development work. For AI that books appointments by voice and through MCP, see the Bronjoy AI receptionist and the Bronjoy MCP server. For a multi-agent marketing pipeline, see Aéra AdGen.

Let's Build

Want something like Nomadeo?

Tell us what your product needs to do. We'll shape the scope, map a timeline and send a fixed price — free, and with no obligation to proceed.

Free consultation No commitment Fast reply