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.