Estimate construction costs from text, photos and PDFs with Telegram, GPT‑4/Gemini and DDC CWICR
A full-featured Telegram bot that accepts text descriptions, photos, or PDF floor plans and returns detailed cost estimates with work breakdown. Powered by GPT-4 Vision / Gemini 2.0, vector search, and the open-source DDC CWICR database (55,000+ construction rates).
Who's it for
Contractors & Estimators** who need estimates from any input format Construction managers** evaluating scope from site photos or drawings Architects** getting quick cost feedback on floor plans Real estate professionals** assessing renovation costs Project managers** doing rapid feasibility checks via mobile
What it does
Receives text / photo / PDF via Telegram Analyzes input with AI (Gemini 2.0 Flash or GPT-4 Vision) Extracts work items with quantities and units Searches DDC CWICR vector database for matching rates Generates professional HTML report with full cost breakdown Exports results as Excel or PDF
Supports 9 languages: 🇩🇪 DE · 🇬🇧 EN · 🇷🇺 RU · 🇪🇸 ES · 🇫🇷 FR · 🇮🇹 IT · 🇵🇱 PL · 🇧🇷 PT · 🇺🇦 UK
How it works
┌─────────────────────────────────────────────────────────────────────┐ │ TELEGRAM INPUT │ │ 📝 Text Description │ 📷 Construction Photo │ 📄 PDF Floor Plan │ └─────────────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────────────┐ │ MAIN ROUTER │ │ Parse message → Detect content type → Route to handler (17 actions) │ └─────────────────────────────────────────────────────────────────────┘ ↓ ┌──────────────────────────┼──────────────────────────┐ ↓ ↓ ↓ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ Text LLM │ │ Vision API │ │ Vision PDF │ │ Parse works │ │ Analyze photo │ │ Read floor plan│ │ from text │ │ GPT-4/Gemini │ │ Gemini 2.0 │ └─────────────────┘ └─────────────────┘ └─────────────────┘ └──────────────────────────┼──────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────────────┐ │ CALCULATION LOOP │ │ For each work item: │ │ 1️⃣ Transform query → 2️⃣ Optimize search → 3️⃣ Get embedding │ │ 4️⃣ Qdrant search → 5️⃣ Score results → 6️⃣ AI rerank → 7️⃣ Calculate │ └─────────────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────────────┐ │ OUTPUT │ │ 📊 Telegram message │ 🌐 HTML Report │ 📑 Excel │ 📄 PDF │ └─────────────────────────────────────────────────────────────────────┘
Input Types
| Type | Description | AI Used | |------|-------------|---------| | 📝 Text | Work lists, specifications, notes | OpenAI GPT-4 | | 📷 Photo | Construction site photos (up to 4) | GPT-4 Vision / Gemini | | 📄 PDF | Floor plans, architectural drawings | Gemini 2.0 Flash |
Route Actions (17 total)
| # | Action | Description | |---|--------|-------------| | 0 | show_lang | Language selection menu | | 1 | ask_photo | Request photo upload | | 2 | lang_selected | Save language preference | | 3 | show_analyze | Photo analysis options | | 4 | analyze | Run AI vision analysis | | 5 | show_edit_menu | Edit work quantities | | 6 | works_updated | After quantity change | | 7 | ask_new_work | Add manual work item | | 8 | start_calc | Start cost calculation | | 9 | show_help | Display help message | | 10 | view_details | Show resource details | | 11 | export_excel | Generate CSV export | | 12 | export_pdf | Generate PDF export | | 13 | process_pdf | Analyze PDF floor plan | | 14 | analyze_text | Parse text description | | 15 | refine | Re-analyze with context | | 16 | fallback | Handle unknown input |
Prerequisites
| Component | Requirement | |-----------|-------------| | n8n | v1.30+ with Telegram Trigger | | Telegram Bot | Token from @BotFather | | OpenAI API | For embeddings + text parsing | | Gemini API | For Vision (photos/PDF) — or use GPT-4 Vision | | Qdrant | Vector DB with DDC CWICR collections | | DDC CWICR Data | github.com/datadrivenconstruction/DDC-CWICR |
Setup
-
Configure 🔑 TOKEN Node { "bot_token": "YOUR_TELEGRAM_BOT_TOKEN", "AI_PROVIDER": "gemini", "GEMINI_API_KEY": "YOUR_GEMINI_KEY", "OPENAI_API_KEY": "YOUR_OPENAI_KEY", "QDRANT_URL": "http://localhost:6333", "QDRANT_API_KEY": "YOUR_QDRANT_KEY" }
-
Vision Provider Selection AI_PROVIDER: "gemini" → Gemini 2.0 Flash (recommended for photos + PDF) AI_PROVIDER: "openai" → GPT-4 Vision (photos only)
-
n8n Credentials Settings → Credentials → Add → Telegram API Enter bot token, save Select credential in Telegram Trigger node
-
Qdrant Collections Load DDC CWICR embeddings for target languages (example for Russian): RU_STPETERSBURG_workitems_costs_resources_EMBEDDINGS_3072_DDC_CWICR
-
Activate & Test Activate workflow Send /start to your bot Select language → send photo/text/PDF
Features
| Feature | Description | |---------|-------------| | 📷 Photo Analysis | GPT-4 Vision or Gemini 2.0 for site photos | | 📄 PDF Processing | Floor plan analysis with room extraction | | 📝 Text Parsing | Natural language work lists | | 🔍 Vector Search | Semantic matching via Qdrant + OpenAI embeddings | | 🤖 AI Reranking | LLM-based result scoring for accuracy | | ✏️ Inline Editing | Modify quantities via Telegram buttons | | 📊 HTML Report | Professional expandable report with KPIs | | 📑 Excel Export | CSV with full work breakdown | | 📄 PDF Export | HTML-based PDF document | | 🌍 9 Languages | Full UI + database localization | | 💾 Session State | Multi-turn conversation support | | 🔧 Refine Mode | Re-analyze with additional context |
Example Workflow
User: /start
Bot: Language selection menu (9 options)
User: Selects 🇷🇺 Russian
Bot: "Отправьте фото, PDF или текстовое описание работ"
User: Sends bathroom photo
Bot: "📷 Анализ фото... ⏳"
Bot: Shows detected works: 🏠 Ванная комната — 4.5 m²
Найдено 12 работ: Демонтаж плитки стен — 18 m² Демонтаж плитки пола — 4.5 m² Гидроизоляция пола — 4.5 m² Гидроизоляция стен — 8 m² Стяжка пола — 4.5 m² Укладка плитки стены — 18 m² Укладка плитки пол — 4.5 m² Установка унитаза — 1 шт Установка раковины — 1 шт Установка смесителя — 2 шт ...
[✏️ Редактировать] [📊 Рассчитать]
User: Taps 📊 Calculate
Bot: Shows progress per item, then final result:
✅ Смета готова — 12 позиций
💰 Итого: ₽ 89,450
Работа: ₽ 35,200 (39%) Материалы: ₽ 48,750 (55%) Механизмы: ₽ 5,500 (6%)
[📋 Детали] [↓ Excel] [↓ PDF] [↻ Заново]
HTML Report Features
KPI Cards:** Total cost, item count, labor days, cost breakdown % Expandable rows:** Click work item to show resources Resource tags:** Color-coded (Labor/Material/Machine) Scope of work:** Expandable detailed descriptions Quality indicators:** Match quality dots (high/medium/low) Responsive design:** Works on mobile and desktop Export buttons:** Expand/Collapse all
Notes & Tips
Photo tips:** Capture full room, include reference objects (doors, tiles) PDF support:** Works best with clear floor plans and room schedules Text input:** Supports lists, tables, free-form descriptions Rate accuracy:** Depends on DDC CWICR coverage for your region Session timeout:** User sessions persist across messages Extend:** Chain with CRM, project management, or notification tools
Categories
AI · Communication · Data Extraction · Document Ops
Tags
telegram-bot, construction, cost-estimation, gpt-4-vision, gemini, pdf-analysis, qdrant, vector-search, multilingual, html-report
Author
DataDrivenConstruction.io
https://DataDrivenConstruction.io
info@datadrivenconstruction.io
Consulting & Training
We help construction, engineering, and technology firms implement: AI-powered estimation systems (text, photo, PDF) Multi-channel bot integrations (Telegram, WhatsApp, Web) Vector database solutions for construction data Multilingual cost database deployment
Contact us to test with your data or adapt to your project requirements.
Resources
DDC CWICR Database:** GitHub Qdrant Documentation:** qdrant.tech/documentation Gemini API:** aistudio.google.com n8n Telegram Trigger:** docs.n8n.io
⭐ Star us on GitHub! github.com/datadrivenconstruction/DDC-CWICR
Related Templates
Automate Daily Keyword Research with Google Sheets, Suggest API & Custom Search
Who's it for This workflow is perfect for SEO specialists, marketers, bloggers, and content creators who want to automa...
USDT And TRC20 Wallet Tracker API Workflow for n8n
Overview This n8n workflow is specifically designed to monitor USDT TRC20 transactions within a specified wallet. It u...
Add product ideas to Google Sheets via a Slack
Use Case This workflow is a slight variation of a workflow we're using at n8n. In most companies, employees have a lot o...
🔒 Please log in to import templates to n8n and favorite templates
Workflow Visualization
Loading...
Preparing workflow renderer
Comments (0)
Login to post comments