Case Study: A Telegram Web App for the Mayak Estate Agency
The client expected a "press 1, press 2" menu and got a property search inside Telegram running on 5,000 listings synced from their CRM. With correspondence and client feedback.
This project started with a cold DM. No referral, no mutual contacts — we simply wrote to the Mayak estate agency and offered to build them a bot. As it turned out later, we were not the only ones writing. Below: how that became a property search inside Telegram running on five thousand listings, why Telegram banned the bot in month two, and why that ban turned out to be good for the client.
5,000
listings in the agency database
1
cold direct message
800
messages that triggered the ban
52/52
photos per listing, the last one a surprise
Why they chose us
Mila, the client lead at Mayak, was choosing between several contractors. She explained the reason after work had already started, and it was not about price.

I approached you and chose you as a specialist, and a great many people were writing to me, believe me. And I believe that you specifically will build me the product I want, and that it will work really well.
The argument that shaped the project
The most important decision was not made in a meeting but in a chat at nine in the evening. Mila opened the search, saw an interface rather than buttons, and asked the obvious question: "Why is ours a website?"
The logic was fair — the agency already had a website, so why a second one. But this is not a second website. It is a Telegram Web App: an interface living inside the messenger.
- Button menus cannot do filters. Narrowing property by type, district, area and price through chat buttons takes a dozen messages and a session abandoned halfway. In a Web App it is three taps.
- The contact is not lost. On a website someone looks and leaves forever. Here they remain a bot user you can message when a matching listing appears.
- No forms. An enquiry is sent with one tap, because Telegram already knows who this is. Nobody types a name and phone number by hand.

Four minutes after the explanation came: "You did well, the search is neat and easy, by the way." The question was settled and never came back.
What is inside
The bot runs on the agency’s live database — roughly five thousand listings pulled from their CRM together with photos and descriptions. A listing’s ID in the bot matches its ID on the website, so an agent and a client are always talking about the same property.
- Search with filters: type, category, residential complex, area from and to, intended use for commercial property
- Favourites and saved searches that survive closing the app — you return where you left off
- Alerts about new listings matching a specific user’s criteria
- Viewing requests straight from the listing card, with duplicate protection on phone number plus listing
- Two interface languages
- A self-hosted PostgreSQL instead of a rented one — the database was migrated during the project
We covered the general approach separately, in the piece on Telegram bots for business and the one on Telegram Mini Apps.
The day Telegram banned the bot
On 6 February the bot sent eight hundred messages in a row. Telegram’s anti-fraud system reacted hard: it blocked both the bot and the developer’s account.

The technical cause was resolved within hours. The more important outcome was procedural: the replacement bot was created by the client herself through BotFather. Ownership of the bot therefore belongs to Mayak, not to the contractor.
The easter egg nobody ordered
During testing Mila wrote: "Inside the listing — a photo of my Katya." The final frame in every apartment’s gallery was a photograph of an agent. The CRM returns it alongside the property photos, and the bot dutifully displayed everything it received.

"She is not for sale," Mila clarified. Fixed the same evening.
The conversation about money
When the project reached handover we offered to keep working for free until the public launch: see how it behaves with real people first, discuss payment afterwards. The answer was not what we expected.

I do not want it for free. I want you to see me through to the public launch, and after that we will see.
Our position was simple and still is: it makes no difference whether it is a client request or our own bug — the project has to reach the point where it earns money. A product that dies two weeks after handover serves nobody, least of all the person who built it.
What happened after handover
The work did not end at sign-off. In April an SSL certificate expired and a stale frontend build was still being served — both fixed the same day. In July the server filled almost to capacity and the bot went down. That one was not fixed once: it now restarts automatically after a server reboot, so the same cause cannot repeat.
What the client said

When I ordered a chatbot for an estate agency website, at my agents’ request, I thought it would be something along the lines of "press 1, press 2". What we got instead was a genuinely smart assistant. Everything fast, no waffle, with good ideas and enormous patience for my constant "let us redo this bit again". And most importantly — even at midnight you were reachable and in a good mood. I really value that approach. It is rare now for someone not to disappear after the deposit but to take a project through to a proper result. So I will gladly recommend you to anyone who needs a genuinely strong specialist.
Project status
The bot has been handed over and is in use by the agency’s agents. It has not yet been opened to the public, so this case study deliberately contains no enquiry or conversion figures — they will appear after launch, and we will add them here.
Frequently asked questions about this project
How does a Telegram Web App differ from an ordinary chatbot?
An ordinary bot communicates through buttons and messages, which works well for simple scenarios such as bookings or FAQs. A Web App is a full interface inside the messenger, capable of filters, catalogues and product cards. Selecting property by a dozen parameters through a button menu would have required around ten consecutive messages, which is why the Web App won.
Who should own a Telegram bot — the client or the developer?
The client. The bot should be created through BotFather from the client’s account, and that account then owns both the bot and the entire user base it accumulates. If the bot is registered to the contractor, changing suppliers means the company loses the bot and its audience, so ownership must be transferred at the start rather than at the moment of parting.
Can a bot be connected to an agency’s existing CRM?
Yes. In this project listings, photographs and descriptions are pulled from the agency’s CRM, and a listing’s ID in the bot matches its ID on the website. Technically this requires API access or a data export from the CRM side; the difficulty depends on how completely that system exposes its data.
Why does Telegram block bots and how do you avoid it?
The most common cause is bulk messaging that ignores rate limits: in this project the bot sent eight hundred messages consecutively and the anti-fraud system read it as spam. It is avoided by throttling sends and spreading broadcasts over time. Telegram does not disclose the exact reason for a block, so it is worth staying well inside the limits.
How many listings can a bot like this handle?
In this project the agency database holds around five thousand listings and search across it runs without delays a user would notice. The constraint is not the number of records but index quality and how often data syncs with the CRM: a large one-off import needs time to process.
In short
- The project began with a cold DM; the client was choosing between several contractors and decided on post-launch support rather than price.
- Instead of a button menu we built a Telegram Web App — property filters do not work through chat buttons.
- Five thousand listings sync from the agency’s CRM, and listing IDs match those on the website.
- Telegram banned the bot over 800 consecutive messages — after which it was re-registered to the client, leaving ownership with the agency.
- We offered to work free until launch; the client insisted on paying.
- The bot is delivered and in use by agents; it has not been opened publicly, so there are no conversion figures yet.
Related reading
Case Study: An AI Assistant for Character Park, After One That Failed
They picked us out of three, and not on price. The bot hallucinated at first — which meant rebuilding how it gets its knowledge at all. With correspondence and the client’s feedback.
Telegram Bots for Business: 12 Scenarios That Save Real Hours
A bot earns its keep where a human repeats the same action fifty times a day — not where it looks modern.
Telegram Mini Apps: A Real App Inside the Messenger
A Mini App puts your interface where the user already is. No install, no signup.