← All projects

In staging

Document compliance and site management for a construction company

A construction company has to check, for every site, that suppliers, subcontractors and workers hold all the documents Italian law requires (social security compliance certificates, contractor qualifications, safety plans, employment records, training certificates) and that none of them has expired.

Role
Sole developer
Period
July → September 2026
Status
In staging, being tested by the client.
Stack
Laravel 13
Livewire 4 + Volt
Flux
Fortify
pdftotext
dompdf
php-imap
PHPUnit 12
Forge

A platform that collects documents, reads them, tracks expiry dates and tells you at any moment whether a site is compliant.

Documents and expiry dates

  • An archive with an expiry calendar and a review workflow, with different requirements for each type of legal entity.
  • Automatic reading: the system recognises the document type, extracts issue and expiry dates and, when the expiry isn’t written, applies Italian legal rules. Social security certificate 120 days, company registry extract 6 months, contractor qualification 5 years with a check at year three, tax payment forms with public holidays and Easter Monday taken into account.
  • Cross-checks: does the holder match the supplier? Do the declared workers’ names appear in the safety plan?

Suppliers and workers

  • A portal where suppliers upload their own documents, with sign-up through a link valid for 48 hours.
  • Workers with documents and licences (cranes, aerial platforms, forklifts): one uncovered worker blocks their company’s compliance.
  • Around 2,338 suppliers imported from Excel.

Construction sites

  • Compliance on three levels (company, site, worker) and a PDF snapshot of the site, ready for inspections.
  • Clock-in from a phone with a GPS check: outside the site radius you can’t clock in.
  • Delivery notes imported automatically from the email and certified email inbox every 5 minutes, with the supplier recognised from its VAT number.

Administration

  • Bank transactions imported from the official Italian banking file format (CBI).
  • Payroll and construction welfare fund PDFs read automatically, with costs split by site.
  • A subcontract generator with selectable clauses.

Recognising documents without AI

No AI models: text extracted from the PDF and deterministic rules, which always give the same result and can be checked one by one.

I validated them on 21 real PDFs from the client: 10 out of 10 recognised and no false positives, even on scans that went through OCR.

Seven rounds with the client

Every round of feedback became a list of points closed and verified in staging, up to the version the client is trying out now.

10/10 documents recognised on real PDFs, zero false positives
291 automated tests
46 commits, all mine
7 feedback rounds with the client
~2,338 suppliers imported