skip to content
carldmitchell.com
← all projects

workbench

A self-serve trial app for a PDF accessibility auto-tagger. Sign up, upload a PDF, get back a tagged PDF and its PDF/UA validation report, live.

details

status
live
group
live tools
stack
Ruby on Rails, Hotwire, SQLite, Solid Queue, Cloudflare Tunnel
since
2026-06

readme

Built at work. A trial that prospective customers walk through end to end:

landing page → sign up → upload one PDF (up to 20 pages) → auto-tag → poll
  → download the accessible PDF and its veraPDF (PDF/UA-1) report

How it's built

  • Accessible by construction. It's the front door for an accessibility product, so the app itself meets the bar: semantic markup, WCAG-minded contrast, visible focus states throughout, and a dark mode.
  • Rails, deliberately simple. Hotwire for the interface, SQLite and Solid Queue for data and background jobs, all on a single host. No separate database server and no Redis, which keeps it cheap to run and easy to reason about.
  • Local tagging. Documents are tagged by opentag running alongside the app, so uploads never leave the server.
  • Accounts and tenancy. Real sign-up and login, accounts with plans, and every record scoped to its tenant.
  • Operator controls, including canceling an audit that's in progress.
  • A remediation editor for fixing tags by hand, driven by pdf-auditor's engine.
  • Continuous deployment: every push to main is live within minutes, behind a Cloudflare Tunnel.

More than 60 commits, June to July 2026.