Listing documents that edit like a web page and print with zero differing pixels

Four listing templates with layout locked in code, an editable mode that matches the PDF to the pixel, and a Claude Code handover for a non-technical agent. Finished on 1 September 2026: four brand-locked templates and a gallery page, editable in Chrome, with pixel-identical PDF output.

I tested an AI design tool on her listing brochure. It gave back a duplicated heading, a price you could barely read, and content that had simply disappeared. That is what happens when a model decides the layout.

differing pixels between the editable page and the PDF, across 9 pages at 150 dpi
0
smaller embedded fonts, 1,907 KB down to 219 KB
89%
templates: one-pager, brochure, buyer and seller guides
4

From the project's test suites and architecture log, August and September 2026.

Solo residential real-estate agent, Aug to Sep 2026

Watch it run.

Recreated with sample data. Waiting time is sped up.
Read the narration

Maaz tested an AI design tool on a real-estate agent's listing brochure. It duplicated a heading and lost content. So in this system, the model only fills fields and never decides the layout.

Four listing templates share one brand module: a one-pager, a brochure, and buyer and seller guides. Layout lives in code, and content lives in fields.

Every document also builds as an editable page from the same layout code. Click any text, like the price, to change it.

Click a photo to swap it, and crop it to fit its frame.

Saving a PDF first checks that nothing overflowed the page.

The page forces exact colour, because Chrome's background-graphics setting is off by default and washes out coloured bands. Zero margins remove the URL and date stamps.

A pixel diff proves the editable page and the PDF are identical: zero differing pixels across nine pages at 150 DPI.

The handover is built to run in Claude Code. Its CLAUDE.md stops Claude from regenerating layouts, and a preflight check names any missing file in plain English.

Finished on 1 September 2026, the system lets her change addresses, prices and photos herself, and the layout cannot drift. It is verified on Windows Chromium, and a pass on her Mac is the one open check.

Before the build.

She wanted branded one-pagers, brochures and buyer and seller guides without a designer on call.

Fixed PDFs were too rigid for how she works: she wanted to change an address and a price herself and resend. She is not technical, and she had been burned before by an automation that stopped running without telling her.

The rule that keeps a document from looking AI-made

The model never decides layout. It only fills fields.

It is the whole difference between the failed test above and the four templates below.

What I built.

One Python layout module renders both the editable page and the PDF, and a pixel diff proves they match.

Four parts, and the third one is the part nobody ever sees.

  1. Layout in code, content in fields
  2. An editable mode from the same code
  3. Print-safe by construction
  4. A handover run by Claude Code

What is true today.

  • Finished on 1 September 2026: four brand-locked templates and a gallery page, editable in Chrome, with pixel-identical PDF output.
  • She can change addresses, prices and photos herself, and the layout cannot drift.

Still open

  • Verified on Windows Chromium. A pass on her Mac is the one open check.

Updated

The details, when you need them.

Layout in code, content in fields

Four templates built in Python on a shared brand module. Layout in code, content in fields, is most of the trick to documents that do not look AI-made.

An editable mode from the same code

Every document also builds as an editable HTML page from the same layout code. Click any text to change it, click a photo to swap and crop it, then save a PDF. The save first checks that nothing overflowed the page.

Print-safe by construction

Chrome's background-graphics setting is off by default and silently washes out coloured bands, so the pages force exact colour and that can never happen. Zero page margins remove the URL and date stamps.

A handover run by Claude Code

The package is built to run in Claude Code on her own seat: a CLAUDE.md that stops Claude from regenerating layouts, a preferences file it learns from, a preflight check, and plain-English guides. Every failure I could foresee becomes a sentence telling her what to fix, never a stack trace.

  • On demand, on her own machine
  • Built to run in Claude Code on her seat
  • No path that regenerates the layout

build-listing-document

  1. Preflight the folder

    names any missing file in plain English

  2. Load the listing fields

    address, price, photos, copy

  3. Render with the brand module

    layout fixed in code

  4. Build the editable page

    same layout code as the PDF

  5. Check for overflow

    blocks the save if text spills

  6. Print to PDF in headless Chromium

    exact colour, zero margins

  7. Save the PDF and an editable copy

Layout never leaves the code

What happens when it fails?

  • I tested the zip that ships, not the repo: extracting the first package to a clean folder showed it had silently left out the brand module.
  • Pixel-diff tests prove the editable page and the PDF are identical, so a change to one can never quietly diverge from the other.
  • The stress suite also blocks confidential or refusal language from ever reaching a client file.
  • The renderer looks for Chrome, Edge or Chromium on macOS, Windows and Linux, and says what to install if it finds none.

What I could not show you

  • Her brand, her listings and her clients are not shown, and no real document from the system appears on this page: the walkthrough recreates the templates with a fictional brand.
  • The pixel-diff figure comes from the project's own test suite, which she can re-run herself on her own machine.

Measurements and project details

checks in the stress suite, all green
33
renders in the edit-survival suite, all green
36
Client
Solo residential real-estate agent
Industry
Real estate
Region
United States
Timeline
Aug to Sep 2026
Role
Document system design, build and Claude Code handover

Stack

  • Python
  • HTML and CSS
  • Headless Chromium
  • fontTools
  • PyMuPDF
  • NumPy
  • Claude Code