The solution
Four screens, no sign-up. No account, no mobile view, no admin side. Anyone can open the site, upload a file and get a fixed one back.
The problem
Benefit guides, HR forms and student handouts are mostly PDFs. Most of them can't be read properly by a screen reader.
Fixing them by hand is slow and costs a lot. Abli.ai gives back a more usable version in minutes.
A student team built the first version. It was just an upload box for PDFs, and it was not what the founder had in mind. He had seen my 2022 redesign of the Our Ability job search dashboard, and asked me to lead this one.
Key decisions
Show proof, not just a download
Most tools hand you a file and say it is fixed. I added an accessibility checker table to the results screen, so people can see what failed before and what passes now. Checks that need a person, like reading order and color contrast, are marked Manual. They are not counted as passed.
Honest wording
The first version said "WCAG compliant". I changed it to "Accessibility Optimized". AI fixes cannot promise full compliance, so the label should not promise more than the tool does.
A Reports page that compares two AI audits
AI can be wrong, so I added a page for the team that puts two audits side by side. Claude and Gemini each check the same document. When both flag an issue, we trust it more. When only one does, it goes to review. This helps the team decide how much to trust the AI.
Edge cases I designed for
What if Adobe's monthly limit runs out?
Jobs used to fail halfway. Now the home page checks first, and a warning banner says the job will run on the backup service.
What if both services are full?
The upload box is hidden. A message shows the date the limit resets. No job fails halfway.
What if the file is too big, too long, or not a PDF?
The limits are shown up front: PDF only, up to 2 GB and 2,000 pages. Type, size and page count are checked as soon as you pick a file.
What if someone changes their mind mid-way?
You can always leave with Cancel and start over.
What if a check needs a person?
Checks like reading order and color contrast are marked Manual. They are not counted as passed.
What if the two AI audits disagree?
When only one of them flags an issue, it goes to review instead of being trusted.
Accessibility
I tested the site with only a keyboard. I could not reach the upload box, so a keyboard user could not even start. For a tool built for disabled people, this comes first.
I built a small fix on a branch: the box is now a real control, Enter and Space open the file picker, and it has a clear focus ring.
Results
Abli.ai is an MVP, now in a pilot with university students.
On a sample run with a public flyer, image descriptions and table summaries went from failed to passed, and the checker went from 2 failed to 0 failed. The Reports page found 34 issues on the same flyer, and showed where Claude and Gemini agreed.
How I got there
Where it started
The starting point was the student team's prototype: one upload box and nothing around it. Everything above, from the limits shown up front to the failure states, was added from there.
How I worked
I designed it straight in code, using Claude Code and Cursor. So every screen here is a real screenshot of the product, not a mockup. Sample runs use a public flyer, and screenshots are cropped to remove dev tools, internal credit counts and empty space.
What I'd do differently
These came from testing the product myself, not from pilot feedback.
Mixed messages after processing
The green "Remediation Complete" banner sits above a list of problems found before the fixes. It reads like 17 critical issues are still open. The count on the tab also comes from the AI's own summary, so it can disagree with the list below it.
Nothing to do when both services are full
The upload box disappears and people can only wait for the reset date. I would add a "notify me" option or a contact link.
Details that add up
The processing screen shows a raw status code ("QUEUED"). The About, Contact and Privacy links in the footer go nowhere yet.