Research Automation

PDF translator bot: automating a 100-page research bottleneck

Turning a 100-page translation bottleneck into an automated research workflow

Some of the most valuable patent documents are published only in a foreign language. Finding the right one was the easy part; understanding it could mean manually translating a hundred pages. I turned that repetitive work into a pipeline, so researchers spend their time on analysis instead.

Automate the bottleneck, not the technology.
Project type
Internal research automation tool
Role
Research analyst; found the bottleneck, then designed and built the automation
Company
GreyB, Mohali, India
Users
Patent research analysts
Output
Editable translated document + translated-page PDF
Stack and services
PythonPlaywrightPDF and image processingDocument generationPDF compilationWorkflow automation
01

The problem

While working as a research analyst at GreyB, I kept running into the same problem: potentially relevant patents were sometimes published only in a foreign language, with no usable translated family publication available.

A researcher could find the right document, but understanding it could mean manually translating dozens, sometimes hundreds, of pages. For a short document that was inconvenient. For a 100-page patent it was a workflow problem: the team was spending time on repetitive mechanical work.

  1. Download PDF
  2. Process page
  3. Translate
  4. Copy
  5. Save
  6. Repeat
Why should a researcher spend their time manually processing 100 pages when the workflow itself can be automated?
02

The insight

Nobody asked me to build a translation tool. I started by watching how the team already worked. Once I mapped the process, it was clear most of it was repetitive and predictable, which meant it could be broken into smaller steps and automated.

The goal wasn't to replace the researcher. It was to remove the mechanical work so they could spend more time on the part that actually needs judgment: analysis.

03

Designing the workflow

I designed it as a pipeline rather than one large script. The input is a foreign-language patent PDF; the output is an editable translated document plus a translated-page PDF, with no one repeating the same operation page after page.

  1. Patent PDF
  2. Split into pages
  3. Page to image
  4. Automated translation
  5. Capture text
  6. Keep translated page
  7. Compile
  8. Document + PDF
04

Turning PDFs into processable units

A 100-page PDF isn't a convenient unit for automation, so I used Python-based PDF processing to convert the document into individual page images. That gave the automation a predictable unit of work, one page per processing cycle, and made the rest of the workflow much easier to control.

Patent.pdf
  → page_001.png
  → page_002.png
  → page_003.png
  → ...
  → page_100.png
05

Automating the translation workflow

The next challenge was interacting with the translation interface over and over. I used Playwright to automate the browser, so instead of someone doing each page by hand a hundred times, the browser handled the repetitive interaction.

This was the point where the project stopped being a utility script and became a workflow.

  1. Open
  2. Upload
  3. Translate
  4. Capture
  5. Save
  6. Continue
06

Preserving two types of information

I deliberately didn't treat the result as just plain text. Each page produced two useful outputs, so the final package kept both readability and visual context.

Translated text

  • Reading
  • Searching
  • Editing
  • Analysis
  • Annotations

Translated page image

  • Page context
  • Visual reference
  • Side-by-side with the source
  • Document-like reading
07

From automation to a usable deliverable

An automation isn't finished when the script finishes; the output still has to be useful. So I added automatic document compilation: translated text from each page is assembled into one structured document, and the translated page images are compiled into a separate PDF.

The researcher gets a complete output package instead of hundreds of disconnected files.

SOURCE PDF
    ↓
PAGE PROCESSING
    ↓
TRANSLATION
    ↓
┌─────────────────────┐   ┌─────────────────────┐
│  Editable document  │ + │ Translated-page PDF │
└─────────────────────┘   └─────────────────────┘
08

The problems that appeared next

Building the first version exposed more problems, and that's where the interesting engineering started.

  1. 1

    Repeated execution

    Long documents meant running the same workflow many times, so execution reliability mattered.

  2. 2

    Temporary files

    Every run generated source images, translated images and intermediate files. Without cleanup, leftovers from one run could interfere with the next.

  3. 3

    Output organisation

    Researchers needed a predictable final result, not a folder full of intermediate assets.

  4. 4

    Reviewability

    Raw translated output wasn't enough. It had to be organised well enough for human review and, where appropriate, client-facing work.

09

Iterating the system

I added automated workspace management so every run starts clean and temporary processing data is removed afterwards, which made repeated runs much easier to manage.

  1. Start clean
  2. Process
  3. Generate outputs
  4. Clean temporary data
  5. Deliver final files
The question moved from "can we translate this PDF?" to "can we produce a usable research artifact from this PDF?"
10

Before and after

Later iterations focused on making the generated document easier to review and share, rather than simply dumping translated text into a file.

Before: manual

  1. Find document
  2. Download
  3. Open PDF
  4. Process page
  5. Translate
  6. Copy text
  7. Save result
  8. Repeat for every page
  9. Manually compile everything

After: automated

  1. Upload document
  2. Automated page processing
  3. Automated translation
  4. Automated text capture
  5. Automated visual output
  6. Automatic document compilation
  7. Final output

The researcher starts the run and keeps working on other tasks while the document processes.

11

The real solution

The interesting part wasn't the translation itself. It was recognising that the real bottleneck was human time spent on repetitive steps, and turning that workflow into a pipeline.

Manual effort became

  • Automation

Repeated actions became

  • A reusable process

Hundreds of intermediate files became

  • Structured output

Waiting for processing became

  • Background execution
Researcher time shifted from processing documents to reviewing and analysing them.
12

Impact

The tool was well received by the research team and became part of GreyB's internal workflow. Colleagues used it for real research work, and it was documented internally as an example of solving a repetitive research problem through automation. It later kept evolving toward more polished, client-shareable output.

The strongest signal wasn't that the script worked once. It was that it was useful enough to become part of the organisation's process.

13

What I learned

  1. 1

    Build from the workflow, not the technology

    I didn't start with "I want to use Playwright". I started with "where is the team losing time?" The technology came after the problem.

  2. 2

    Automation is a product problem too

    A script that runs is only the start. Useful automation also needs predictable inputs, reliable processing, clean outputs, error handling, repeatability and deliverables people understand.

  3. 3

    Scale changes the engineering problem

    A workflow that works for five pages behaves differently at 100: more processing cycles, intermediate files, browser interactions, failure points and cleanup.

  4. 4

    Real users reveal the next problem

    The first version solved the obvious bottleneck. Real use revealed the next ones: output quality, organisation, cleanup, repeatability and client sharing.

14

My role

I identified the bottleneck during my day-to-day research work, then designed and built the automation around it.

Problem discovery

  • Spotting repetitive manual work in the research process

Workflow design

  • Breaking the process into automatable stages

Implementation

  • PDF processing
  • Browser automation
  • Output generation

Iteration and product thinking

  • Improving from real usage
  • Turning raw automation into a usable research deliverable
15

The takeaway

This project changed how I approach software. I stopped thinking only "what can I build?" and started asking "what repetitive problem is wasting someone's time, and how can I turn that process into a system?" That mindset has stayed with me ever since.

Have a similar problem? Let's talk.

Kartik Saxena - open to remote roles, contract work and new projects.

more ai agent work