Case study · Web Development & Infrastructure

Astro + Directus: Real estate site with instant filtering and Telegram-based admin ops.

Client came with a messy database in Google Sheets and images scattered across Google Drive. We set up a dedicated server, spun up Docker + Traefik, added a Headless CMS (Directus), and coded a lightning-fast Astro frontend. The killer feature: the owner doesn’t touch the CMS admin dashboard at all — all listings are uploaded right from their Telegram bot.

ProjectAgency Real Estate Website StackAstro, Directus, Docker, Traefik RoleArchitecture · Backend · Frontend · DevOps
98/100 Lighthouse
Performance
0 clicks to search
(instant filtering)
100% management
via Telegram
01 / Context

Why we needed a new architecture

Before the project started, the client had no website and no proper database. The entire real estate "ledger" consisted of messy Google Drive folders and endless lines in Google Sheets.

Going to serious B2B partners and agencies with this "DIY spreadsheet" setup was out of the question. The second bottleneck was that buyers could only browse properties by scrolling through a Telegram channel. Finding a specific apartment with certain filters was impossible.

In high-ticket real estate, you don't run production on Google Drive. We needed a robust, production-grade infrastructure, yet it had to be friction-free and simple for the owner.

Before Astro / With New Architecture

— Before
  • Database stored in Google Sheets
  • Photos scattered in Google Drive
  • Property showcase limited to Telegram channel feed
  • Finding a specific apartment took hours
  • Amateur brand image for B2B partners
+ After
  • Dedicated VPS server with Docker and Traefik
  • Professional Headless CMS (Directus) under the hood
  • Blazing-fast Astro frontend
  • Instant gallery filtering on the fly
  • SEO optimization and 98/100 Lighthouse score
02 / Mechanics

The Killer Feature: CMS without UI

The site runs on the Astro framework. We chose it because Astro outputs pure HTML without bloated client-side JavaScript. As a result, the property gallery works so fast that you don't even need to click the "Search" button — filters sort objects on the fly as you type.

But the real magic happens in the admin panel. We deployed Directus as a Headless CMS database. We fully configured it, setting up schemas, relations, and category dependencies.

Yet the owner practically never touches Directus.

People hate learning new admin panels. So, we made it so that properties in the CMS (which then fly onto the website) aren't uploaded via the web interface. The entire workflow is tied to Telegram. The client simply drops photos and specs into a familiar Telegram bot, the bot automatically maps everything to the right tables in Directus, and Astro rebuilds the showcase page instantly.

The full power of a relational database is tucked under the hood. For the client, the familiar messenger remained the only website control panel.

Need similar workflow automation? Tell me about your task — I’ll draft what is feasible.

Message on Telegram
Back to cases