๐Ÿ”ฌ Estimate construction costs from text, photos and PDFs with Telegram, GPTโ€‘4/Gemini and DDC CWICR

โšก 169 views ยท ๐Ÿ”ฌ Document Extraction & Analysis

๐Ÿ’ก Pro Tip โ€” HTTP Request scraping tends to break when sites update their markup. If youโ€™re scraping a major platform, check if ScraperNode covers it โ€” it has maintained scrapers for LinkedIn, Instagram, TikTok, YouTube, and 20+ other platforms that return structured data.

View All Scrapers

Description

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

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

TypeDescriptionAI Used
๐Ÿ“ TextWork lists, specifications, notesOpenAI GPT-4
๐Ÿ“ท PhotoConstruction site photos (up to 4)GPT-4 Vision / Gemini
๐Ÿ“„ PDFFloor plans, architectural drawingsGemini 2.0 Flash

Route Actions (17 total)

#ActionDescription
0show_langLanguage selection menu
1ask_photoRequest photo upload
2lang_selectedSave language preference
3show_analyzePhoto analysis options
4analyzeRun AI vision analysis
5show_edit_menuEdit work quantities
6works_updatedAfter quantity change
7ask_new_workAdd manual work item
8start_calcStart cost calculation
9show_helpDisplay help message
10view_detailsShow resource details
11export_excelGenerate CSV export
12export_pdfGenerate PDF export
13process_pdfAnalyze PDF floor plan
14analyze_textParse text description
15refineRe-analyze with context
16fallbackHandle unknown input

Prerequisites

ComponentRequirement
n8nv1.30+ with Telegram Trigger
Telegram BotToken from @BotFather
OpenAI APIFor embeddings + text parsing
Gemini APIFor Vision (photos/PDF) โ€” or use GPT-4 Vision
QdrantVector DB with DDC CWICR collections
DDC CWICR Datagithub.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

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

FeatureDescription
๐Ÿ“ท Photo AnalysisGPT-4 Vision or Gemini 2.0 for site photos
๐Ÿ“„ PDF ProcessingFloor plan analysis with room extraction
๐Ÿ“ Text ParsingNatural language work lists
๐Ÿ” Vector SearchSemantic matching via Qdrant + OpenAI embeddings
๐Ÿค– AI RerankingLLM-based result scoring for accuracy
โœ๏ธ Inline EditingModify quantities via Telegram buttons
๐Ÿ“Š HTML ReportProfessional expandable report with KPIs
๐Ÿ“‘ Excel ExportCSV with full work breakdown
๐Ÿ“„ PDF ExportHTML-based PDF document
๐ŸŒ 9 LanguagesFull UI + database localization
๐Ÿ’พ Session StateMulti-turn conversation support
๐Ÿ”ง Refine ModeRe-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 ั€ะฐะฑะพั‚:
1. ะ”ะตะผะพะฝั‚ะฐะถ ะฟะปะธั‚ะบะธ ัั‚ะตะฝ โ€” 18 mยฒ
2. ะ”ะตะผะพะฝั‚ะฐะถ ะฟะปะธั‚ะบะธ ะฟะพะปะฐ โ€” 4.5 mยฒ
3. ะ“ะธะดั€ะพะธะทะพะปัั†ะธั ะฟะพะปะฐ โ€” 4.5 mยฒ
4. ะ“ะธะดั€ะพะธะทะพะปัั†ะธั ัั‚ะตะฝ โ€” 8 mยฒ
5. ะกั‚ัะถะบะฐ ะฟะพะปะฐ โ€” 4.5 mยฒ
6. ะฃะบะปะฐะดะบะฐ ะฟะปะธั‚ะบะธ ัั‚ะตะฝั‹ โ€” 18 mยฒ
7. ะฃะบะปะฐะดะบะฐ ะฟะปะธั‚ะบะธ ะฟะพะป โ€” 4.5 mยฒ
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

Notes & Tips

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:

Contact us to test with your data or adapt to your project requirements.

Resources


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

๐Ÿ”— Nodes Used

HTTP Request, Telegram, Telegram Trigger

๐Ÿ“ฅ Import

Download workflow.json and import into n8n: Workflow menu โ†’ Import from File

๐Ÿ“– Importing guide ยท ๐Ÿ”‘ Credential setup