Inspiration

The goal was simple: take raw structured inspection data and turn it into two professional documents automatically — one that mirrors the required TREC format, and another that feels more modern, clean, and readable for clients and real-estate agents.

What it does

The project processes a inspection.json file and produces:

A fully completed TREC-style inspection PDF (output_pdf.pdf)

A modern formatted report (bonus_pdf.pdf)

How we built it

Parse JSON into sections, items, and media entries

Map text and checkboxes to the correct TREC form fields

Remove form input boxes after filling to avoid overlap

Render page content directly into the PDF canvas

Build a second PDF from scratch for the redesigned version

Add a dynamic table of contents with anchor links

Handle embedded media tokens like [M#3] and place images inline

Challenges we ran into

PDF form field behavior can differ depending on the PDF reader and pypdf version, so getting exact rendering took careful testing

Dynamically fitting text into fixed fields without overlap required custom wrapping and overflow logic

Handling hundreds of images while maintaining placement order and fast runtime required pre-processing and caching

Accomplishments that we're proud of

Automated a normally manual, tedious PDF-completion workflow

Matched the official TREC formatting clearly and reliably

Built a second, modern inspection report from scratch

Implemented inline media rendering and neat handling of video references

What we learned

How PDF annotation objects, appearance streams, and form dictionaries work

ReportLab canvas techniques for text and media layout

How to pre-process and scale images efficiently

Building automated document generation pipelines

What's next for Binsr Inspect Challenge

Web interface to upload data and generate reports online

Real-time report preview during capture

Built With

Share this project:

Updates