The post has been translated automatically. Original language: Russian
🔥 How I created an AI agent to monitor Georgia's Real estate: A Case Study at the intersection of RAG, Low-code, Python and Go
Introduction The real estate market in Georgia (especially in Batumi and Kobuleti) is a chaos of hundreds of Telegram channels and Facebook groups. The information in them is not structured, noisy with advertising and quickly becomes outdated. I set a goal: to create an intelligent MVP agent that collects data from two platforms in real time, analyzes them using LLM and provides accurate extraction without "hallucinations". In this project, I acted as AI Solutions Architect, using the Antigravity agent to speed up the infrastructure build, which allowed me to focus on the logic of RAG chains.
The heart of the project is the Dynamic RAG architecture (Retrieval-Augmented Generation). Unlike regular chatbots, my agent doesn't take data out of his head. He builds his answers based on fresh "raw materials" from social media.
Technology stack: • Data collection: Python (Telethon for Telegram API and Playwright for Facebook Scraping). • The brain of the system: Gemini 1.5 Flash (unstructured text processing). • Backend: Go (Gin) for high-performance data management. • Interface: Streamlit (interactive dashboard with filtering). • Orchestration: Docker Compose (microservice architecture).
How the RAG AI Agent works: Data collection → Intelligent parsing → Structured database → RAG filtering → Final answer
I have implemented a complete cycle of turning the chaos of messages into a structured knowledge base.:
1. Data Ingestion (Capture): The system connects to Telegram sockets and scraps the public FB groups of Kobuleti and Batumi.
2. Extraction (Intelligent parsing): Every message is sent to Gemini. AI extracts entities: city, price, number of rooms, and type of author (owner or realtor).
3. Vectorization & Storage: The data is saved to an SQL database with metadata.
4. Augmented Generation: When the user requests a squeeze (for example, "What is for rent in Kobuleti up to $500?"), the system: ◦ Makes a Retrieval (extracts suitable records from the database). ◦ Makes Augmentation (adds these records to the context of the prompt). , Issues a Generation (the final answer is based only on facts).
The key point: The agent does not come up with prices. His answers are 100% verified by links to real posts on Telegram and Facebook.
The data path in my project is: Telegram/FB ➔ Gemini (Parsing) ➔ SQL Database ➔ RAG Search ➔ User Dashboard
Development in regional conditions (Batumi/Kobuleti) forced to take into account the risks of power and Internet outages.
So that the MVP does not require a manual restart, I have implemented Self-healing mechanisms: • Docker Restart Policies: Automatically lifting containers in case of critical failures. • Network Resilience: Python services have implemented exponential latency reconnection logic. If the Internet disappears, the system "waits" for it to appear and continues to work seamlessly.
This project demonstrates how a bundle AI tools (Antigravity) and competent architecture allow one engineer to assemble a product in a matter of days. Enterprise.
What MVP can do now: • Monitors 2 cities: Batumi, Kobuleti. • Combines Telegram and Facebook into a single feed. • Cuts off up to 80% of irrelevant ads (spam, realtors). • Provides instant market analytics via The RAG interface.
This case confirms that the future of development is not in writing lines of code, but in managing intelligent data flows and AI architecture.
🔥 Как я создал AI-агента для мониторинга недвижимости Грузии: Кейс на стыке RAG, Low-code, Python и Go
Введение Рынок недвижимости в Грузии (особенно в Батуми и Кобулети) — это хаос из сотен Telegram-каналов и Facebook-групп. Информация в них не структурирована, зашумлена рекламой и быстро устаревает. Я поставил цель: создать MVP интеллектуального агента, который в реальном времени собирает данные из двух платформ, анализирует их с помощью LLM и предоставляет точную выжимку без «галлюцинаций». В этом проекте я выступил в роли AI Solutions Architect, используя агента Antigravity для ускорения сборки инфраструктуры, что позволило мне сфокусироваться на логике RAG-цепочек.
Сердце проекта — архитектура Dynamic RAG (Retrieval-Augmented Generation). В отличие от обычных чат-ботов, мой агент не берет данные из головы. Он строит свои ответы на основе свежего «сырья» из социальных сетей.
Технологический стек: • Сбор данных: Python (Telethon для Telegram API и Playwright для Facebook Scraping). • Мозг системы: Gemini 1.5 Flash (обработка неструктурированного текста). • Бэкенд: Go (Gin) для высокопроизводительной работы с данными. • Интерфейс: Streamlit (интерактивный дашборд с фильтрацией). • Оркестрация: Docker Compose (микросервисная архитектура).
Схема работы RAG AI Agent: Сбор данных → Интеллектуальный парсинг → Структурированная база → RAG-фильтрация → Финальный ответ
Я реализовал полный цикл превращения хаоса сообщений в структурированную базу знаний:
1. Data Ingestion (Захват): Система подключается к Telegram-сокетам и скрапит публичные FB-группы Кобулети и Батуми.
2. Extraction (Интеллектуальный парсинг): Каждое сообщение улетает в Gemini. ИИ извлекает сущности: город, цену, количество комнат и тип автора (собственник или риелтор).
3. Vectorization & Storage: Данные сохраняются в SQL-базу с метаданными.
4. Augmented Generation: Когда пользователь запрашивает выжимку (например, "Что сдается в Кобулети до $500?"), система: ◦ Делает Retrieval (извлекает подходящие записи из базы). ◦ Делает Augmentation (добавляет эти записи в контекст промпта). ◦ Выдает Generation (финальный ответ, основанный только на фактах).
Ключевая фишка: Агент не придумывает цены. Его ответы на 100% верифицированы ссылками на реальные посты в Telegram и Facebook.
Путь данных в моем проекте: Telegram/FB ➔ Gemini (Parsing) ➔ SQL Database ➔ RAG Search ➔ User Dashboard
Разработка в региональных условиях (Батуми/Кобулети) заставила учесть риски перебоев со светом и интернетом.
Чтобы MVP не требовал ручного перезапуска, я реализовал механизмы Self-healing: • Docker Restart Policies: Автоматический подъем контейнеров при критических сбоях. • Network Resilience: В Python-сервисах внедрена логика переподключения с экспоненциальной задержкой. Если интернет пропадает, система «ждет» его появления и бесшовно продолжает работу.
Этот проект демонстрирует, как связка AI-инструментов (Antigravity) и грамотной архитектуры позволяет одному инженеру за считанные дни собрать продукт уровня Enterprise.
Что умеет MVP сейчас: • Мониторит 2 города: Батуми, Кобулети. • Объединяет Telegram и Facebook в единую ленту. • Отсекает до 80% нерелевантных объявлений (спам, риелторы). • Предоставляет мгновенную аналитику по рынку через RAG-интерфейс.
💡 Этот кейс подтверждает: будущее разработки — не в написании строк кода, а в управлении интеллектуальными потоками данных и архитектурой ИИ.