Inspiration
Contracts make promises, but those promises usually disappear into PDFs the moment they are signed. Meanwhile, invoices, payments, and delivery records live in separate spreadsheets and operational systems.
That gap creates a real problem for finance, compliance, and operations teams: they often discover a missed delivery, payment shortfall, or penalty clause only after money has been lost or an audit has started.
We built ObligationOps to turn contracts from static documents into live operational controls.
What it does
ObligationOps extracts delivery, payment, deadline, and penalty obligations from a contract and stores them as durable, queryable records. When operational records are uploaded, the platform reconciles them against those obligations, identifies discrepancies, assesses risk and financial exposure, investigates the available evidence, and produces an executive-ready report.
The workflow is designed around a simple principle: upload the contract once, then continuously monitor it as real-world invoices, payments, and deliveries arrive.
How we built it
We built a full-stack application with:
- A FastAPI backend for contract ingestion, record normalization, workflow orchestration, and reporting.
- A durable database model for contracts, obligations, fulfillment records, discrepancies, risk assessments, investigations, and executive reports.
- An asynchronous workflow system so uploads can return quickly while monitoring continues in the background.
- A modern Next.js frontend with contract and document views, an upload center, live workflow polling, plain-language progress updates, issue summaries, and PDF/DOCX report downloads.
- A local Ollama-backed model setup for affordable local inference during development and demos.
The core workflow follows this sequence:
- Extract structured obligations from a contract.
- Persist those obligations for later monitoring.
- Normalize uploaded invoice, payment, and delivery records.
- Reconcile operational evidence against contractual commitments.
- Calculate risk, urgency, and estimated exposure.
- Investigate the evidence before presenting conclusions.
- Produce a decision-ready executive report.
How Codex and GPT-5.6 helped
Codex with GPT-5.6 was central to building and iterating on ObligationOps.
For the more complex work, I used GPT-5.6 Terra with Ultra reasoning effort to think through the architecture, durable workflow state, reconciliation edge cases, asynchronous execution, error handling, reporting logic, and end-to-end debugging and also generate comprehensive agreements to test the system. This was especially valuable when moving from a simple sequential prototype to a background workflow with live progress updates.
For smaller, high-volume tasks, I used GPT-5.6 Luna to accelerate UI refinements, documentation, component updates, copy improvements, and focused bug fixes.
Codex helped transform the idea into a working product: backend APIs, workflow orchestration, model integration, frontend pages, report exports, sample-data testing, and a polished demo experience.
Challenges we faced
The hardest challenge was making the results trustworthy rather than simply impressive.
A system can easily flag a missing record as a failure, but a missing payment record may mean the data has not yet been uploaded—not that the supplier has definitely breached the contract. We addressed this by separating:
- A discrepancy detected during reconciliation
- A calculated risk level and estimated exposure
- An evidence-backed investigation conclusion
- A clear indication when evidence is incomplete
We also had to solve practical workflow problems: record uploads initially failed validation, workflows needed durable progress states for the UI, zero-discrepancy runs needed to stop cleanly without unnecessary investigation, and early issue summaries sounded too generic. Iterating on those details made the product more useful and more credible.
What we learned
We learned that the most valuable AI workflow is not one that merely summarizes documents. It is one that connects a document’s commitments to the operational evidence that proves whether those commitments are being met.
We also learned that transparency matters. Teams need to see what the system found, what evidence supports it, what remains uncertain, and what action should happen next.
What’s next
Next, we would expand integrations beyond CSV uploads, add scheduled monitoring, connect directly to ERP and procurement systems, support collaborative evidence assignment, and provide portfolio-level risk trends across many contracts.
ObligationOps is built for the teams responsible for keeping promises visible before missed obligations become expensive surprises.
Log in or sign up for Devpost to join the conversation.