Papmil pdf workflows
Menu
How it works Pricing FAQ Login Process a PDF

Acknowledgements

This small experiment stands on a wonderfully large commons.

Papmil exists because thousands of people chose to make useful software and knowledge available to others.

The document workshop

Tesseract recognizes text. Ghostscript renders and optimizes PDFs. Ollama makes it practical to run models on Papmil's own processing worker. CombinePDF, PDF::Reader, RTesseract, and their dependencies do much of the quiet file work.

The application

Ruby and Ruby on Rails provide the foundation. Devise, Hotwire, Bootstrap, GoodJob, Shoryuken, Administrate, PgHero, Ahoy, Pagy, and many other gems make accounts, queues, dashboards, analytics, and operations possible.

The infrastructure

Kamal makes deployment understandable. AWS supplies S3, SQS, and SES. Cloudflare Turnstile protects public forms without asking people to identify traffic lights.

The excellent PDF ecosystem

Adobe Acrobat, iLovePDF, Stirling PDF, Paperless-ngx, PDF Expert, and countless other tools have already solved enormous parts of document work. Papmil benefits from the standards, expectations, and ideas that ecosystem created.

Thank you

To the maintainers who shared their work, the people who documented the obscure edge cases, and the early users willing to run real documents through an experimental workflow: thank you. The gratitude is much larger than this page.