Inspiration
I got assigned a 9-page philosophy reading last week at Cal Poly. Dense paragraphs, no headings, 47-word sentences. That's when it hit me — if this is hard for me, what is it like for a student with dyslexia? Or someone using a screen reader?
95.9% of the top million websites fail WCAG accessibility standards. 3.5 million college students have a documented disability. Only 37% ever report it. Every accessibility tool that exists — axe, WAVE, Ally — is built for content creators. There is nothing for the students who have to read it.
I built Claro solo in 13 hours to flip that equation.
What it does
Upload any inaccessible document (PDF, pasted text, or URL), select your disability profile, and get an instantly transformed accessible version in under 30 seconds. Four AI agents handle ingestion, diagnosis, profiling, and transformation — all powered by Amazon Bedrock.
The same document produces four fundamentally different transformations: Dyslexia (simplified sentences, OpenDyslexic font), Cognitive/ADHD (TL;DR summaries, numbered sections), Low Vision (high contrast, large text), and Screen Reader (document outlines, figure descriptions).
Claro learns — a Kiro steering file tracks which profiles work best for your content, identifies systemic issues across your documents, and improves transformation quality over time.
Claro is also an MCP server. Any AI tool can call it. A professor in Kiro types "make this accessible" and it just works. We didn't build an app — we built accessibility infrastructure.
How I built it (solo)
I built every piece of Claro alone in 13 hours using Kiro as my development partner. Kiro's spec-driven workflow generated requirements, design docs, and 42 implementation tasks before I wrote a line of code. That roadmap was the only reason a solo build of this scope was possible.
Backend: Python 3.11, FastAPI, four agent modules with explicit data contracts, Amazon Bedrock (Claude Sonnet 4), pdfplumber for PDF extraction. Frontend: React 18, Vite, Tailwind CSS. MCP Server: FastMCP with stdio transport, three tools, zero code duplication. Custom accessibility-self-check hook that lints my own docs on every save. Six steering docs guiding Kiro's behavior across the codebase.
Challenges I ran into
Dyslexia transformations kept duplicating the document title — needed a two-layer fix with fuzzy matching. The agent trace sidebar flashed and disappeared during navigation. The MCP server connection failed initially due to Python path resolution. Being solo meant every bug was a crisis with no teammate to pair with. The spec kept me disciplined — if a feature didn't map to a requirement, it got cut.
Accomplishments I'm proud of
Shipped a complete multi-agent AI platform solo in 13 hours — working app, MCP server, custom hook, six steering docs, full spec, and a learning system that gets smarter. The MCP server is my proudest achievement: Claro isn't just an app, it's infrastructure any AI can call. The accessibility-self-check hook eats its own dogfood — an accessibility platform whose own docs pass accessibility checks.
What I learned
Spec-driven development is a superpower for solo hackathons. The biggest accessibility gap isn't tools for creators — it's the absence of tools for consumers. Steering files as a persistence layer are underrated. Building solo forces you to be ruthless about what matters.
What's next
Canvas LMS integration, browser extension, institutional dashboard for disability offices, multi-language support, and embedding Claro as invisible infrastructure into every tool a student touches.

Log in or sign up for Devpost to join the conversation.