

A lead at 2 a.m. is qualified before your manager wakes up
Ami greets every visitor on Telegram and in the site chat, asks the questions that separate a buyer from a browser and pings a manager the moment a lead turns warm.
Sonnet main, Haiku utility
Built with Claude Code in 5+ months

Every visitor gets the question that matters
Sonnet writes each reply inside the conversation, picking up the pain the visitor just named instead of restarting the interview. The visitor types freely, with no menu and no script to click through.
- 1Sonnet asks the next qualifying question in the visitor's own words
- 2Free typing, no menu and no forced script

A 2 a.m. enquiry still gets a real answer
At 2 a.m. a clinic asks whether patient intake can be automated. Ami answers, asks the one number that decides it and offers the call, exactly as it does on Telegram.

The manager gets the lead already filled in
A background pass rereads the conversation and fills in business type, the real problem and urgency, then scores the lead. Once the score crosses the threshold, a Telegram alert and an email reach a manager while the whole conversation waits in the admin panel.
A student's question and a real buyer landed in the same inbox, both waiting for a human to sort them.
Ami runs the qualifying conversation itself, and a manager only sees the leads worth a call.
Under the hood
01Context
A flood of messages, most not a real lead
Our own marketing site draws the same kind of inbound we build automations for clients: a chat widget, a Telegram bot and a contact form, all open around the clock. Most of it is not a real lead, a student's question, a competitor checking prices, someone just browsing. Reading every message by hand and deciding what deserves a reply does not scale to a small team also doing client work, so Ami runs the same qualifying logic on both channels.
02How it works
Node and Express, two models split by job
The backend is Node.js and TypeScript on Express, with Supabase Postgres storing every conversation, message, lead and handoff. An incoming message runs through regex and keyword heuristics first, which classify most traffic for free; crisis language is caught immediately and answered with a fixed safety response that skips the model. Claude Sonnet writes the actual conversation; Haiku handles the cheaper utility work, intent classification and the periodic lead extraction. A channel abstraction lets Telegram and the web widget share the same assistant logic without knowing about each other.
03Outcome
In production since July 2026
Ami has been answering on Telegram and anmflow.com around the clock since July 2026. Every conversation is stored, every lead gets a score and every warm one reaches a manager through a Telegram alert and an email, with no dashboard to check to catch a good lead landing at 2 a.m.
ANM SOLUTIONS / CONTACT US
Want something like this?
First 30-minute call is free. We scope it, you decide.
Related service · AI Chatbot & Virtual Assistant ›

Our own site with an ROI calculator, prerendered SEO and two languages
