2026 · Barclays Accessibility Challenge

Penny — voice-first banking for blind and low-vision customers

Banking for blind and low-vision customers, where voice and sound are the primary channels and the screen is secondary. Nothing executes until Penny says what will happen and you confirm it.

TypeScriptReactViteTone.jsTesseract.jsZustandPWAPlaywright/axe

designing for sound first, not a screen with labels bolted on

Most accessible banking is a visual app with ARIA attributes added afterwards. Penny inverts that: voice and sound are the primary channels and the screen is secondary. It was built for the Barclays Accessibility Challenge.

the Read-Back Rule

Nothing executes until Penny states exactly what will happen and is confirmed. For someone who cannot visually verify a form before submitting it, confirmation has to be spoken, not implied by what is on screen.

Every completed action writes a hash-chained, tamper-evident receipt, so the history of what was authorised is checkable after the fact.

Post Box: paper mail without handing it to a server

Photograph a letter and the sensitive digits are masked on-device with Tesseract before anything leaves the phone. It is then read back as a summary, verbatim, or explained — and can be acted on in the same flow, rather than bouncing the user to another part of the app.

Layout Lock: the accessibility contract is enforced by CI

Layout Lock is a Playwright + axe CI gate that fails the build if the accessibility tree changes without a migration flag.

The point is that the accessibility contract is enforced by the pipeline, not by remembering. A refactor that silently reorders the reading order does not ship.

sound carrying information, not just narration

Account health is a two-second earcon rather than a number, and the week’s spending plays as a five-second stereo sonification — information conveyed at a glance, for people who do not glance.

Quiet Mode swaps speech for high-contrast cards and three named haptic patterns, for users who have some vision, or who are simply in public.

it works with no network

Runs fully offline: no key, no network, no crash. The demo works in airplane mode.

all workjosh beira