Inspiration
Students waste time wrestling with unreadable PDFs and dense text.
Accessibility tools are scattered, slow, or locked behind paywalls.
Goal: one-click “make it accessible” for anyone, on any file.
What it does
Accepts text or a PDF/image upload.
Sends multipart/form-data to a processor with a chosen accessibility preset.
Returns JSON with a pdf_url and optional simplified summary.
Shows a clean “Download Accessible PDF” button and an open-in-new-tab link.
Presets: dyslexia, cognitive impairment, visual impairment, ADHD, ESL simple English.
Preferences are toggled in-app and drive the preset automatically.
How we built it
Frontend: React + Vite + TypeScript + shadcn/ui + Tailwind + lucide-react.
Zero-CORS friction: Vite dev proxy for /process and /downloads/* to Render.
File handling: native <input type="file"> → FormData (file_input or text_input, plus accessibility_preset).
Robust JSON handling: parse, normalize relative pdf_url, render download CTA.
State: lightweight React state for messages and local preferences.
UX: gradient cards, keyboard-focus styles, and reduced-motion-friendly animations.
Challenges we ran into
Browsers auto-adding wrong Content-Type; fixed by letting fetch set multipart boundary.
CORS and 302-to-HTML issues; solved by proxying and keeping links same-origin.
Some APIs return relative paths; added normalizer for /downloads/....
Avoiding backend lock-in; removed auth/storage coupling while keeping the UX.
Accomplishments that we're proud of
From raw PDF/image to accessible PDF in a single click.
Works without login or backend dependencies in dev.
Clear, fast UI with real accessibility presets, not just theme tweaks.
Tight, testable network layer with graceful error states.
What we learned
Keep the browser same-origin and life gets simpler.
Multipart rules: never set Content-Type manually for FormData.
Accessibility is more than contrast; presets must alter structure and language.
Small utilities (URL normalization, proxy config) eliminate entire classes of bugs.
What's next for Kind Sight
Export to alternate formats: EPUB, DOCX, large-print HTML.
Batch processing and history.
Fine-grained presets per disability and reading level.
Mobile-first uploader and share sheet.
Optional accounts later (save prefs) without breaking the zero-setup flow.
Try it out
Log in or sign up for Devpost to join the conversation.