Back to portfolio
Peyman-yar — Progress Statement Evidence Desk

Peyman-yar — Progress Statement Evidence Desk

On public construction contracts in Iran, a line item in a progress statement can be struck off if the signed site minutes behind it are missing or were never formally served. Peyman-yar imports the statement, links each price-list item to the minutes, instructions and letters that back it, and produces a gap report with the exact amount exposed, before the consultant ever sees the file. It also tracks the statutory review windows of the General Conditions of Contract, and prepares the objection when deductions do happen.

// Architecture

A FastAPI backend on the shared Orv SaaS core with a Next.js 14 panel and PostgreSQL, where every calculation is plain, tested arithmetic in Rials and every legal interval is counted in the Jalali calendar. The 1404 building and road price lists ship as seed data, statements come in from the contractor's existing Excel exports through a column mapping that is remembered per layout, and the output is a single PDF package: generated cover, index and gap report followed by the original scanned minutes. A language model is used in exactly one place, to read price-list codes out of scanned minutes, and any code it returns that is not literally in the text is discarded.

// Key capabilities

Gap report in Rials

Each line item is counted once at its worst finding; minutes approved by the consultant but not yet served by the employer are weighted at the 0.7 factor the price-list rules set, and the total always equals the sum of the rows on screen.

Review clock

Every document's signature trail across contractor, supervisor, consultant and employer is tracked, and the review and objection windows are counted from the day it reaches the next party, with alerts as each one runs out.

Deductions and price adjustment

Contractual deductions are computed in their legal order and set beside what the employer actually withheld, and price adjustment is calculated per quarter from published indices, flagged as pending rather than zero when an index is missing.

Objection without guesswork

The objection letter is a fixed template that cites the relevant articles verbatim, so the same inputs always produce the same letter, never a model's draft.

// Technology stack

  • Python / FastAPI
  • Next.js
  • PostgreSQL
  • openpyxl
  • fpdf2 / pypdf
  • Docker

// Inside the project

Peyman-yar — Progress Statement Evidence Desk — Inside the project 1Peyman-yar — Progress Statement Evidence Desk — Inside the project 2Peyman-yar — Progress Statement Evidence Desk — Inside the project 3Peyman-yar — Progress Statement Evidence Desk — Inside the project 4

// Next step

Need something like Peyman-yar — Progress Statement Evidence Desk?

Tell us what you're building. We'll reply with how we'd approach it, a rough timeline and the first step.

Start a similar project

Orv Team (Orv) is a software development studio. We design and build web, mobile and AI products, and support them after launch.

// Contact
Have a project in mind?|

Tell us what you're building, and we'll get back to you.

orv:~$new-project --like peyman-yar
or reach us directly
Telegram@OrvTeam
GitHub@ItsOrv
Email
orv© 2026