Job: Build Internal Construction Contract + Valuation Control Web App (AI extraction + reminders) Overview We are a construction company building an internal web app to manage: Contract upload & AI extraction of key payment terms and dates Deadlines & reminders (valuation dates, payment dates, pay less notice dates, etc.) CSR + instructions + valuations with Application for Payment PDF output This is not accounting software or a CRM. It’s a commercial control system to reduce risk and prevent missed deadlines/entitlement. Core Requirements (MVP) A) Contract upload + AI extraction (must have) Upload a contract document (PDF/DOCX) AI should extract (as structured fields): Contract sum (if present) Payment cycle (e.g., monthly) Valuation date(s) / valuation rule Due date for payment / payment due rule Final date for payment Pay less notice deadline rule Any explicit notice timing rules (if present) App must show a Review/Confirm screen where users can: see extracted values edit them approve/save the final schedule Important: AI extraction is assistive only — user confirmation is required before reminders are enabled. B) Deadlines & reminders Based on confirmed payment terms, generate a schedule of key dates: Valuation dates Payment notice dates (if applicable) Pay less notice deadlines Final date for payment Ask user: “Which email address(es) should notifications be sent to?” Reminder offsets configurable per project (e.g., 7/2/1 days before) Send email reminders (basic templates OK) C) CSR upload (Excel only) + baseline Upload CSR from Excel User maps columns once: Ref (optional) Description (required) Contract value (required) Qty/unit/rate (optional) Each CSR line becomes a valuation item baseline Guardrail: CSR locked once a valuation exists D) Instruction register + compliance capture Record instructions with: Who / when / why Description Area/location File uploads (emails/photos/PDF) Compliance flag: Evidence present → OK No evidence → Missing evidence Unvalued instructions auto-pull into next valuation E) Valuations Create valuations with auto-incrementing numbers Period start/end Carry forward previous CSR % complete Value CSR lines by % Value instructions as lump sums (negative allowed) Adjustments (contra, dayworks) Labour & CIS Sticky top bar input: “Labour this valuation (£)” CIS = labour × CIS rate CIS deducted from net Project-wide discount/MCD + retention Retention % user input Retention release profile: 50% at PC / 50% at Final Account (display only in MVP) Project-wide discount/MCD applies to total gross (percent or fixed) No VAT displayed Valuation Calculation Logic (fixed) code: CSR this valuation + Instructions this valuation + Adjustments = Gross Gross × Discount/MCD = Discount Gross − Discount = Gross after discount Gross after discount × Retention% = Retention Gross after discount − Retention = Net Labour × CIS% = CIS Net − CIS = AMOUNT DUE F) PDF Output Generate Application for Payment PDF (neutral, no branding) Must include: Header (project/client/application no/period) CSR table Instructions table with evidence/compliance indicator Adjustments Commercial summary: gross/discount/retention/net/labour/CIS/amount due Retention note: “50% at PC / 50% at Final Account” Signatures G) Locking & audit Lock valuation → fully read-only Only admin can unlock Audit log: created/updated/locked/exported Calculations must be server-side authoritative Tech Expectations Secure authentication + roles (internal users) File storage for contract docs and evidence uploads AI extraction using a reliable LLM (OpenAI or equivalent) returning structured JSON Email sending (SendGrid/Postmark/SES) Relational DB (Postgres preferred) Deliverables Deployed MVP Source code repo Database schema/migrations Setup documentation Basic handover / walkthrough Proposals- Please include: Your suggested architecture (especially for AI extraction + confirmation + reminder scheduling) Examples of similar apps (document parsing, scheduling, PDFs) Timeline & cost Any risks/assumptions you see Applications that don’t address these points will be ignored. Notes AI must not “guess” silently. It can propose values, but the user confirms. MVP reminder output can be email only.