Extracto AI – PDF-to-Excel Filling Automation System image 1
Extracto AI – PDF-to-Excel Filling Automation System image 2
Extracto AI – PDF-to-Excel Filling Automation System image 3

01 · Overview

Overview

Extracto AI is a local AI-powered automation system designed to simplify the process of filling Excel-based RFP (Request for Proposal) questionnaires using technical information from PDF documents.

The system automates document extraction, requirement matching, and Excel workbook population, reducing repetitive manual work and helping users generate structured, evidence-based responses while keeping sensitive technical data private.

Key Features

  • Automated extraction of text and tables from technical PDF documents
  • Support for scanned PDFs through local OCR
  • Dynamic detection of questions and answer fields in Excel templates
  • Hybrid retrieval of relevant technical evidence
  • AI-powered compliance analysis and answer generation
  • Evidence-based responses with source references
  • Fully local AI processing for improved data privacy

02 · How I built this project

How I built this project

How I built this project

I developed Extracto AI using a modular document-processing and AI automation pipeline that combines PDF extraction, Excel analysis, local LLM inference, and automated workbook generation.

Document Processing

Implemented PDF text extraction using PyMuPDF and document-processing tools, with OCR support for scanned documents. Extracted technical specifications and relevant information from source documents for further analysis.

Excel Questionnaire Analysis

Developed a dynamic Excel analyzer to identify questionnaire requirements, answer fields, and workbook structure without relying on fixed cell positions. This allows the system to work with different Excel questionnaire formats.

AI-Powered Information Extraction

Integrated Ollama to run language models locally for extracting and understanding technical specifications from PDF documents. Used prompt engineering to generate structured responses based on the available source information.

Hybrid Retrieval

Implemented hybrid retrieval to identify relevant technical evidence for each questionnaire requirement. Combined semantic and keyword-based retrieval to improve the matching of technical specifications with the questions in Excel.

Compliance Analysis

Used AI-based reasoning to analyze retrieved technical evidence against questionnaire requirements and generate appropriate compliance responses.

The system handles missing information by returning NOT_SPECIFIED instead of generating unsupported answers.

Excel Automation

Implemented automated Excel workbook population using OpenPyXL. The system fills the required answer fields while preserving the original workbook structure, formatting, formulas, and merged cells.

Validation and Human Review

Added validation mechanisms to identify missing or uncertain information. Cells requiring manual review are highlighted in yellow, helping users identify answers that need further verification.

Backend and User Interface

Built the backend using FastAPI and developed the frontend using Next.js 15, TypeScript, Tailwind CSS, and shadcn/ui.

The system supports document processing through a web interface as well as a standalone Python pipeline.

03 · Tech stack

Tech stack

Tech stack

  • Programming Language: Python
  • Backend Framework: FastAPI
  • Frontend Framework: Next.js 15
  • Frontend Language: TypeScript
  • UI Styling: Tailwind CSS, shadcn/ui
  • Local LLM Runtime: Ollama
  • PDF Processing: PyMuPDF, Docling, OCR
  • Excel Automation: OpenPyXL
  • Data Validation: Pydantic
  • Containerization: Docker, Docker Compose
  • Testing and Code Quality: Pytest, Ruff, MyPy

04 · Results

Results

Extracto AI automates the process of extracting technical information from PDF documents and transferring it into structured Excel-based RFP questionnaires.

By combining local LLM inference, document extraction, intelligent requirement matching, and Excel automation, the system reduces repetitive manual work and helps users generate structured responses supported by source evidence.

One of the most important takeaways from this project was learning how to combine AI reasoning with traditional software engineering techniques to build a practical automation solution.

Instead of relying entirely on an LLM, the system uses document processing, retrieval, structured data handling, and validation to improve the reliability of generated responses.

Running the system locally through Ollama also helps maintain the privacy of sensitive technical and organizational information.

Code and more on GitHub

Repositories, experiments and smaller builds.

Open GitHub