WebEngine
0%
Case Studies

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.

Pavlo10 min read

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.

Telegram conversation in which the client explains that many contractors approached her and why she chose this one
Personal data is masked in every screenshot
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.
Mila, Mayak estate agency

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.
Conversation in which the client asks why the search looks like a website and receives an explanation of Telegram Web App
17 January. The explanation, and the client’s verdict four minutes later

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.

Conversation about the bot and developer account being blocked, and the decision to create a new bot on the client’s side
6 February. Sending limits were fixed the same day

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.

Conversation about an agent’s photograph appearing as the last frame in every listing gallery
The agent’s photo is blurred for privacy. The "52 / 52" counter is that final frame

"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.

Conversation showing the offer of a free period and the client declining it, insisting on paying
26 February. "I know what bots cost and I did not haggle at all"
I do not want it for free. I want you to see me through to the public launch, and after that we will see.
Mila, Mayak estate agency

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

Telegram screenshot with the full text of the client’s testimonial about the project
28 July 2026. Published with the client’s permission
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.
Mila, Mayak estate agency

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.
Share
  • case study
  • Telegram Web App
  • real estate

Related reading