About the project

Inspiration

The web is still built for an “average” reader, which quietly excludes dyslexic, neurodivergent, and disabled people. We kept seeing friends and family bounce off dense pages, chaotic layouts, and urgent language. That frustration pushed us to build Pincer — an accessibility-first layer that makes existing sites feel calm and readable without asking the web to change. [page:1]

What we learned

  • Accessibility isn’t just contrast and font size — tone, density, and cognitive load matter just as much. [page:1]
  • Small UI decisions (spacing, focus cues, clear toggles) radically change how a page feels. [page:1]
  • Shipping a Chrome extension is as much about UX and defaults as it is about technical features. [page:1]

How we built it

Pincer is a Chrome extension with a lightweight popup UI and a content script that modifies pages in real time. We implemented: [page:1]

  • Font and contrast controls (defaulting to OpenDyslexic) [page:1]
  • Focus mode and clutter removal [page:1]
  • Action highlighting and keyboard-friendly navigation [page:1]
  • AI rewrite using Groq to simplify or summarize text [page:1]

Technically, the architecture is: [page:1]

  • Popup UI: React-based interface (compiled) that stores preferences in Chrome storage [page:1]
  • Content script: Injects styles and rewrites content based on preferences [page:1]
  • Background script: Handles AI rewrite requests and caching [page:1]

In short, we pipe user preferences into the content script and apply styles or transformations to the DOM — like an accessibility layer that “wraps” the web rather than rebuilding it. [page:1]

Challenges

  • Font delivery: loading OpenDyslexic consistently across pages required bundling and injecting local font files. [page:1]
  • Page variance: every website is a little different; making modifications that feel safe and reversible was tricky. [page:1]
  • AI usability: the rewrite feature had to be fast enough to feel instant but still accurate, so we added caching and short prompt templates. [page:1]

Built With

Share this project:

Updates