System Note 02 · Open Source & Builder Work

ProofMark Studio

ReactFastAPIPythonDocument ProcessingDesign System
What it is

One home for ~50 small document tools — clean hidden characters out of text, merge and split PDFs, OCR a scan. It is really three separate apps wired together by URL so each can be fixed and shipped on its own.

~50 tools (27 live) · ~210 tests · per-tool kill switch (≤60s, no redeploy)

Why I built it

I kept rebuilding the same one-off text and PDF fixers; folding them into one catalog meant building each cleanup once and reusing it.

What went wrong
  1. 01
    The honesty pass
    Broke
    The hub was showing a fake activity feed, a “throughput” stat hardcoded to a made-up number, and planned features drawn as if they were already live.
    Why
    Early scaffolding filler shipped as though it were real, which is exactly the kind of thing this site should never do.
    Fix
    Stripped all of it, replaced it with an honest map of what actually works, and added a test that blocks unshipped features from being described as done.
  2. 02
    The build that needed Cairo
    Broke
    Deploys started failing because a PDF-conversion library needed system graphics libraries the build runner did not have.
    Why
    A PDF library (xhtml2pdf) pulled in native Cairo graphics libraries Vercel’s build runner does not have.
    Fix
    Dropped the dependency (the two tools it powered degrade gracefully to “beta”) — and learned the hard way that Vercel installs from pyproject.toml, not requirements.txt, so it had to come out of both.
Outcome
~50tool catalog
~210tests

Evidence before confidence.

← Back to Build Notes