AI-assisted tender review system that converts large tender packages into evidence-backed compliance checklists, clarification questions, and proposal preparation inputs.
I worked around technical tender workflows where teams had to review many documents manually: scope of work, technical requirements, pricing schedules, inspection requirements, and commercial clauses. The problem was not only reading documents; the problem was proving where each answer came from and making sure technical sales did not miss critical requirements.
I built this portfolio version to show how an AI workflow can support tender review without pretending that AI should make final engineering decisions.
Tender packages are long, fragmented, and usually split across PDFs, spreadsheets, commercial terms, and technical exhibits. Engineers and sales teams spend days extracting requirements, while important clauses can be missed when proposal inputs are scattered. Management review also slows down because an AI answer is not useful unless the reviewer can trace it back to source evidence.
- Upload tender documents.
- Parse and normalize documents.
- Extract technical and commercial requirements.
- Match each extracted item with source evidence.
- Generate a compliance checklist.
- Generate client clarification questions.
- Support pricing and proposal preparation.
- Route output to human review.
- Prepare structured proposal inputs.
- Keep final approval with technical sales and management.
Frontend:
- Next.js
- React
- TypeScript
Backend:
- FastAPI
- Python
- SQLAlchemy
AI layer:
- OpenAI/GPT API for document understanding, extraction, and checklist generation
- structured JSON outputs for technical, commercial, legal, and missing-field extraction
Data:
- SQLite for portfolio/demo mode
- SQLAlchemy models for projects, documents, extraction records, and generated-file references
- PostgreSQL is a natural production target, but this public repo keeps the local setup simple
Integrations:
- Salesforce is an integration target and workflow context, not a completed production integration in this repo
- The production workflow can be orchestrated with tools like n8n, but this repository focuses on the application layer
- Claude-style review can be added for reasoning-heavy proposal structuring, but the implemented extraction path uses OpenAI
I designed the tender review workflow, mapped the business process, defined the AI extraction stages, structured the inputs and outputs, and built the portfolio-safe implementation to demonstrate how the system works.
My focus was:
- turning manual tender review into an AI-assisted workflow
- keeping evidence attached to extracted requirements
- separating AI extraction from final technical approval
- making checklist and proposal inputs easier for sales and management to review
- removing private tender data from the public repository
I used a confidence/evidence threshold around 0.85 for checklist extraction because lower thresholds created too many weak matches that looked correct but were hard to defend during review. A tender workflow does not only need an answer; it needs an answer that a technical reviewer can trace back to the original document.
The 0.85 threshold is a practical trade-off: strict enough to reduce unsupported claims, but not so strict that the system misses useful candidate requirements. Items below the threshold should be flagged for human review instead of being treated as final.
AI should assist tender review, not replace engineering judgment. Every important output should be evidence-backed, and every technical or commercial decision should pass through human review before it becomes part of a proposal.
- I separated extraction from final decision-making because AI output should support technical review, not replace it.
- I used structured JSON outputs so requirements can be validated, stored, and reused in checklists and proposal templates.
- I kept generated files out of Git because tender checklists, proposal drafts, and calendar outputs can contain sensitive operational data.
- I describe Salesforce and n8n as integration targets because this repo demonstrates the application layer, not a full production integration.
In the internal workflow this project is based on, the target was to reduce initial tender review from around two weeks to nearly one day. The expected impact is better checklist consistency, clearer visibility for technical sales and management review, and lower risk of missing critical commercial or technical clauses.
This repository is a portfolio-safe version of the system. All real client data, API keys, tender documents, CRM exports, generated proposals, calendar outputs, outreach lists, logs, and operational results have been removed.
Any files shown in /examples, /test-fixtures, or /schemas are dummy samples created only to demonstrate workflow structure.
The system is designed around:
- environment variables for secrets
- human approval gates before external actions
- empty placeholder folders for generated outputs
- no real production data in the public repository
- separation between demo data and private operational data
This is a portfolio-safe version of the system. The public repository demonstrates the workflow structure, data model, AI stages, and integration approach. Private data, production outputs, and company-specific logic have been removed.
Status:
- Workflow architecture: documented
- Demo schemas: included
- Sensitive outputs: removed
- Real credentials: not included
- Production data: not included
- Copy
.env.exampleto.envand add your own local credentials. - Install backend dependencies in
api. - Install frontend dependencies in
frontend. - Run the FastAPI backend and the Next.js frontend.
- Test only with dummy documents.
- Add stronger confidence scoring and source-span highlighting.
- Add role-based approval queues for technical sales and management.
- Add optional CRM handoff once outputs are approved.