Why I built Blink

My uncle is blind. One day he took the wrong medicine. He mistook one box for another, and he ended up in the hospital.

The two boxes looked the same. The only difference was tiny printed words he could not see.

I kept asking myself one question: what if his phone could just tell him?

What Blink does

Point your phone. Tap one big button. Hear one short sentence.

  • Read: reads a medicine box, a label or a sign out loud
  • Describe: tells you what is in front of you
  • Alert: warns you about things in your way, like "Chair, left, close."
  • Money: names the Pakistani rupee note in your hand

When Blink is not sure, it says so. A wrong answer said with confidence is the worst kind of answer, so Blink would rather say "I am not sure, hold it closer."

How I built it

Blink is a web app, so there is nothing to download from a store. Gemini reads the text and describes the scene. An object detector on the phone spots obstacles. For rupee notes I trained my own model on a public Kaggle dataset. It scored 93.6% on the dataset's test images, and I also tested it on photos I took myself with my phone.

Blink speaks in short, calm sentences, and it shows captions too.

What went wrong along the way

  • The dataset made my model look better than it really was. So I tested it on my own photos.
  • Pictures from a live camera are blurrier than test photos, so at first Blink often said "I am not sure."
  • Free hosting kept getting in my way. I had to switch services, and the one I use now falls asleep when nobody is using it.
  • A talking camera that never stops talking is useless. So I taught Blink to stay quiet unless something changes.

What I learned

When you cannot see, a wrong answer is worse than silence. Knowing when not to speak matters most.

What's next

Voice commands, a helper that asks what you need, Urdu voice, working on the phone with no internet, and testing with blind users.

Blink is a helper. It does not replace a cane or a person. For medicine, always check with a person or a pharmacist.

Built With

  • accessibility
  • antigravity
  • computer-vision
  • docker
  • fastapi
  • gemini-api
  • github
  • google-colab
  • image-classification
  • kaggle
  • keras
  • mediapipe
  • mobilenetv2
  • object-detection
  • pwa
  • python
  • react
  • render
  • tensorflow
  • tensorflow-lite
  • tesseract.js
  • typescript
  • vercel
  • vite
  • web-speech-api
Share this project:

Updates

Submission history