AI SaaS · Full-Stack Engineering · Document Intelligence
ProductionTaqdeer
AI-powered construction estimation SaaS
A bilingual Arabic/English multi-tenant SaaS that turns construction RFPs into structured, priced Bills of Quantities, combining AI document analysis, semantic catalogue search, assembly-aware matching and deterministic pricing.
- Role
- Co-Founder & Full-Stack Engineer
- Timeframe
- 2025 – Present
The problem
Construction estimation requires engineers to interpret project documents, identify work items, match them against supplier or internal catalogues, and prepare structured quantity and cost estimates. The work involves complex terminology, multiple document formats, inconsistent descriptions, and scope lines that often map to several catalogue components at once.
The objective
Turn Arabic and English RFP documents (Excel, Word, PDF) into reviewable, priced Bills of Quantities, with AI doing the interpretation and matching, and the application keeping every financial calculation deterministic and auditable.
My role
- Founded the product and built it end to end as the sole engineer.
- Designed the system architecture, data model, AI pipeline and security model.
- Built the FastAPI backend, the Next.js front end, and the catalogue ingestion layer.
- Owned delivery: CI/CD, containerization, production deployment and monitoring.
Technical approach
- Documents are parsed into structured work items through FastAPI and Anthropic Claude using structured outputs, so the model returns typed data rather than free text.
- Work items are matched to a priced catalogue with pgvector semantic search on PostgreSQL, and every match carries a confidence score for human review.
- An assembly-aware engine decomposes a single scope line into the multiple catalogue items an engineer would specify, returning quantities and confidence scores.
- Pricing is deliberately excluded from model context. Costs, markups and totals are computed in application code so financial logic stays deterministic.
- Supplier rate sheets are normalised into one internal schema: item codes, bilingual descriptions, units, material and labour cost, markup and brand.
- Multi-tenancy is enforced in the backend with role- and capability-based access control, JWT authentication with TOTP 2FA, scoped integration API keys, and per-tenant usage metering and billing.
Key features
AI document analysis
Excel, Word and PDF RFPs processed through FastAPI and Claude with structured outputs.
Semantic catalogue search
PostgreSQL + pgvector retrieve relevant catalogue items by semantic similarity, with confidence-scored matches.
Assembly-aware matching
One scope line decomposed into the several catalogue items it actually requires, with quantities.
Deterministic pricing
Costs, markups and totals stay in application logic, never delegated to the model.
Catalogue ingestion
Supplier rate sheets normalised into a common bilingual schema.
Secure multi-tenancy
RBAC with capabilities, JWT + TOTP 2FA, scoped API keys, per-tenant metering and billing.
Bilingual, RTL-aware product
RFP intake, Kanban project pipeline, BoQ review and approval, and financial dashboards.
Production delivery
Docker, GitHub Actions CI/CD, Vercel and Render deployment, and monitoring.
Interactive demo
SIMULATIONRuns entirely in your browser. Scope lines, catalogue, match scores and prices are fictional; the real product uses live models and customer catalogues.
- 1
Document input
DoneSupply and build 200 mm hollow concrete blockwork walls, plastered both sides, as per drawings. Quantity: 120 m2
Language: EnglishQuantity: 120Unit: m² - 2
AI interpretation
DoneSchema-bound structured output (typed fields, not free text). No prices in the model context.
{ "work_type": "masonry", "element": "wall", "material": "hollow concrete block", "thickness_mm": 200, "finish": "cement plaster", "finish_faces": 2, "quantity": 120, "unit": "m²" } - 3
Semantic retrieval
DoneTop catalogue candidates by vector similarity (pgvector). Candidates below the threshold are flagged for review.
- MS-2010.94
Hollow concrete block wall, 200 mm
- PL-1100.88
Cement plaster, 15 mm
- MS-2050.81
Hollow concrete block wall, 150 mm
- MR-0200.77
Masonry mortar
- PT-3010.52
Emulsion paint, two coats
- MS-201
- 4
Assembly-aware matching
DoneOne scope line decomposed into the catalogue items an engineer would specify.
Item Why Qty Confidence MS-201Hollow concrete block wall, 200 mm Primary element 120.0 m² 0.94 PL-110Cement plaster, 15 mm Plaster on both faces 240.0 m² 0.88 MR-020Masonry mortar Mortar per m² of wall 2.16 m³ 0.77 - 5
Deterministic pricing
DoneRates come from the catalogue and every total is computed in application code, so results are repeatable and auditable.
Code Qty Rate (SAR) Amount (SAR) MS-201 120.0 m² 60.00 7,200.00 PL-110 240.0 m² 23.00 5,520.00 MR-020 2.16 m³ 260.00 561.60 Subtotal 13,281.60 Markup 12% 1,593.79 VAT 15% 2,231.31 Total (SAR) 17,106.70 All lines above the review threshold.
Outcome
- A production-deployed, bilingual AI SaaS built and shipped by one engineer.
- Demonstrates end-to-end AI engineering, semantic retrieval, relational data architecture, secure backend development, bilingual front-end engineering and production deployment.
Source code and customer data are private. Diagrams on this page are original illustrations of the architecture.