01Problem
Before construction, the detailed designs (survey shapefiles, CAD drawings) and the cost estimates for 28 locations in Tulang Bawang and Mesuji, Lampung had to be checked against each other. Is every priced canal and structure actually in the design? Is every unit price built on the right analysis? Doing that by eye, 28 times, over estimates of about 40 sheets each, is where mistakes hide.
02What I built
A repeatable review pipeline instead of 28 manual checks. Every estimate line is extracted per location; canals and structures are matched between shapefile, drawings and estimate; each location gets review minutes that list what matches, what does not, and the questions the designers must answer. A separate trace follows the unit-price chain: estimate → price-analysis summary → unit-price analysis → base prices.
03How it works
- Extract once. Workbooks are opened read-only and extracted once, so parallel checks never compete for heavy files.
- One correction file. Manual corrections to canal matching live in a single file, so a rebuild can never silently change a match.
- Doubt is written down. Anything uncertain is not decided quietly: it goes to a “needs designer confirmation” section.
- Judgement stays human. Pricing findings go into a review workbook with status and comment columns, because pricing judgements stay with the reviewer.
04Results and scale
- Review minutes for all 28 locations, with 121 items for the designers to confirm.
- 172 unit-price findings ranked high / medium / low for manual review.
- The four most serious findings were re-verified against the original source files; the minutes are awaiting final sign-off.
05Try it
The review reads estimates like this one — groups, items, quantities, unit prices, weights. The recap below is fictitious; change an earthwork quantity to see how one line moves every total and weight.
Quantities → bill of quantities
A fictitious 1.2 km canal package. Earthwork quantities come from the cross-sections by average end area × length; edit them to see amounts, subtotals, weights and the total follow.
Swipe sideways to see every column.
| Code | Item | Unit | Quantity | Unit price | Amount | Weight |
|---|
Weights are what the S-curve uses. VAT shown at 11% for illustration. Nothing here comes from a real project.
06Stack
- Python
- openpyxl
- python-docx
- PDF rendering
- Excel review workbooks
07Gallery
No real minutes, maps, prices or conclusions are shown. The diagram describes the method only.