Inspiration

A normal doorbell is useless if you can't hear it. Deaf and hard-of-hearing people miss deliveries and can't tell who is outside before deciding what to do. SeeBell makes the front door visible.

What it does

When someone rings, SeeBell takes over the screen with a full-screen flashing alert (green, amber or red by risk level), huge text, and phone vibration. A vision AI looks at the camera image and says in one plain sentence who is there, whether they carry a package, and a risk level with a reason. The user taps Coming, Leave at door, or Not now. A separate /door page shows the reply in big text for the visitor. Every visit goes into a visitor log with snapshots, and a daily summary recaps the day.

How we built it

  • Next.js (App Router), TypeScript and Tailwind, extending Amazon's Ring API starter.
  • Ring API for device access.
  • Google Gemini vision API analyzes a camera frame and returns a strict JSON contract (visitor_type, description, carrying, risk, risk_reason, suggested_action). Output is validated, and the app falls back to demo mode if the AI fails.
  • Accessibility: high-contrast flashing alert, large type, aria-live alert dialog, vibration.

Honest note about the demo

The Ring Developer Playground has no real doorbell-press events or talk-back. The doorbell press is therefore simulated with a button; the AI analysis, alert, replies, log and summary are real.

Challenges

Playground tokens expire every 30 minutes, the Gemini model name changed mid-build, and the Playground only offers a test camera.

What's next

Real ring events through webhooks with a refresh token, a Ring-device speaker reply, and a phone app.

Built With

Share this project:

Updates

Submission history