Inspiration

Smart glasses and clinic video magnifiers already tried to help people read what is in front of them. Glasses were set aside for many people; desk magnifiers help, but they stay on a desk. Silver brings that same job back onto a phone someone already owns: a camera, a voice, and a simple face.

What it does

  • Mobile page with large labeled buttons, large type, light high-contrast layout.
  • Type and hear — browser speech for typed text (no camera, no API key).
  • Open camera or choose a photo — image stays on the phone unless vision is configured.
  • Read text / Describe the scene:
    • No VISION_API_URL: honest demo sentence that Silver did not read or describe the photo.
    • With VISION_API_URL: the Cloudflare Worker POSTs the photo; the page speaks the returned text.
    • Vision call failure shows an error message, not fake demo text.

How Kiro was used

The repo keeps .kiro/ on purpose (not gitignored):

  • .kiro/steering/ — product, stack, layout, honesty, accessibility, vision contract
  • .kiro/specs/large-button-ui/ — requirements, design, and tasks for the page
  • .kiro/specs/read-aloud/ — speech and photo reading
  • .kiro/specs/scene-description/ — scene description path
  • .kiro/hooks/ — PostFileSave typecheck, honesty reminder on copy changes, and a Stop hook that runs npm test

Specs are requirements-first (user stories and EARS-style WHEN / THE SYSTEM SHALL). Checked tasks are built; unchecked items (on-device OCR, Bluetooth glasses, saved voice speed) are not claimed as done.

Challenges

  • Staying honest under demo pressure: no pretending the app saw a photo when no vision service is wired.
  • Separating "configured" (VISION_API_URL set) from "worked" (the service actually returned text).
  • Phone speech quirks: some devices only speak from the last tapped button; the UI includes Hear it again, Stop, and speed controls.
  • Shipping as one Cloudflare Worker plus static assets so the page and API deploy together.

Accomplishments

  • Public MIT repo with steering, specs, hooks, tests, and a live workers.dev demo.
  • Honest demo mode and fail-closed vision errors.
  • Resurrection framing that is product-real, not costume UI.

What we learned

Requirements-first specs plus an honesty steering file keep the agent from inventing features. A vision stub that admits it does not look at the photo is more useful for a hackathon demo than a fake OCR claim.

What's next

Optional real vision endpoint behind VISION_API_URL. On-device OCR and Bluetooth glasses stay unchecked tasks and are not claimed today.

Limits

The public deploy currently runs without VISION_API_URL (demo mode). It will not OCR or describe photos. Type and hear works in a supporting browser. Silver is not a medical device. There is no Bluetooth glasses pairing and no built-in OCR.

Built With

Share this project:

Updates

Submission history