Captions and transcription
Closed captions and a speaker-attributed transcript for uploaded audio and video, built on the browser's own caption support.
The code and principles behind interfaces I've built at work, at university and for this site.
Closed captions and a speaker-attributed transcript for uploaded audio and video, built on the browser's own caption support.
Read Word, spreadsheet, presentation and PDF files in the browser without downloading them, in an accessible viewer built on pdf.js.

A static Astro site that works without JavaScript, reads in order without CSS and behaves the same in every browser engine, with tests that hold it to that.
A model-driven React settings area, deep-linkable and accessible, that became the foundation for later preference features.

My final-year degree project: an accessible React and TypeScript date picker, built on the W3C pattern with its own date maths and focus handling, then tested with a screen reader.
A personal project I designed and built: a Next.js builder for choosing options, seeing them on a 3D model and watching the price as you go, with a basket that explains any price that changed since.