Sedang Bahagia
Start a projectStart a project

Contract and SOP assistant with clause extraction

Project teams ask questions across contracts, tenders and SOPs in Bahasa or English and get answers that cite the page. Key dates go into a register.

SECTOR
Energy & Property
LOCATION
Jakarta, ID
YEAR
2025
DELIVERED AS
Web appAI pipeline

The problem

Contracts, addenda and SOPs sat across shared drives as scanned PDFs, some in Bahasa and some in English. Site managers called the legal team to check a retention clause or a penalty rate, and contract deadlines were tracked in a spreadsheet that fell behind every time an addendum was signed.

What we built

A web assistant that indexes every contract and SOP, including scans, and answers questions only from those documents, quoting the clause and linking to the page. It respects the same folder permissions as the shared drive. When the answer is not in the documents, it says so. A separate extraction step reads each new contract into a register of parties, values, milestones, penalties and expiry dates, which the legal team confirms before it goes live.

Key features

  • Questions in Bahasa or English, answers with page citations

  • Access follows existing folder permissions

  • Clause register with dates and obligations

  • Reminders before milestones and expiry dates

How the 4-week sprint went

  1. Listen & prototype

    Collected 80 real questions from site and legal staff, wrote the expected answers with the legal team and indexed the first project’s contracts.

  2. Core build

    Built search, cited answers and the clause extraction, scoring every build against the question set.

  3. Live & handover

    Opened it to two project teams, logged unanswered questions for review and handed over the index, evaluation set and admin access.

STACKNext.jsPythonPostgres + pgvectorClaude API

Related reading

Next project

Multilingual WhatsApp service assistant for a car dealer group

View project →

Book a call