Skip to main content

Estimate construction costs from text, photos and PDFs with Telegram, GPTโ€4/Gemini and DDC CWICR

Workflow preview

Estimate construction costs from text, photos and PDFs with Telegram, GPTโ€4/Gemini and DDC CWICR preview
Open on n8n.io

Overview

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

  1. Receives text / photo / PDF via Telegram
  2. Analyzes input with AI (Gemini 2.0 Flash or GPT-4 Vision)
  3. Extracts work items with quantities and units
  4. Searches DDC CWICR vector database for matching rates
  5. Generates professional HTML report with full cost breakdown
  6. 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

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

2. Vision Provider Selection

  • AI_PROVIDER: "gemini" โ†’ Gemini 2.0 Flash (recommended for photos + PDF)
  • AI_PROVIDER: "openai" โ†’ GPT-4 Vision (photos only)

3. n8n Credentials

  1. Settings โ†’ Credentials โ†’ Add โ†’ Telegram API
  2. Enter bot token, save
  3. Select credential in Telegram Trigger node

4. Qdrant Collections

Load DDC CWICR embeddings for target languages (example for Russian):

RU_STPETERSBURG_workitems_costs_resources_EMBEDDINGS_3072_DDC_CWICR

5. Activate & Test

  1. Activate workflow
  2. Send /start to your bot
  3. 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 m2

ะะฐะนะดะตะฝะพ 12 ั€ะฐะฑะพั‚:
1. ะ”ะตะผะพะฝั‚ะฐะถ ะฟะปะธั‚ะบะธ ัั‚ะตะฝ โ€” 18 m2
2. ะ”ะตะผะพะฝั‚ะฐะถ ะฟะปะธั‚ะบะธ ะฟะพะปะฐ โ€” 4.5 m2
3. ะ“ะธะดั€ะพะธะทะพะปัั†ะธั ะฟะพะปะฐ โ€” 4.5 m2
4. ะ“ะธะดั€ะพะธะทะพะปัั†ะธั ัั‚ะตะฝ โ€” 8 m2
5. ะกั‚ัะถะบะฐ ะฟะพะปะฐ โ€” 4.5 m2
6. ะฃะบะปะฐะดะบะฐ ะฟะปะธั‚ะบะธ ัั‚ะตะฝั‹ โ€” 18 m2
7. ะฃะบะปะฐะดะบะฐ ะฟะปะธั‚ะบะธ ะฟะพะป โ€” 4.5 m2
8. ะฃัั‚ะฐะฝะพะฒะบะฐ ัƒะฝะธั‚ะฐะทะฐ โ€” 1 ัˆั‚
9. ะฃัั‚ะฐะฝะพะฒะบะฐ ั€ะฐะบะพะฒะธะฝั‹ โ€” 1 ัˆั‚
10. ะฃัั‚ะฐะฝะพะฒะบะฐ ัะผะตัะธั‚ะตะปั โ€” 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 [email protected]

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


โญ Star us on GitHub! github.com/datadrivenconstruction/DDC-CWICR