Inspiration
Keeping with the Valentine's theme, how adorable would it be to be able to feel someone's heartbeat from far away?
What it does
Heartbeat uses your phone's camera to detect your heartbeat, and broadcasts the pulse to other phones using the app via vibration.
How we built it
Android, with Firebase on the backend
Challenges we ran into
Getting accurate readings for the heartbeat was a big challenge, but we iterated the algorithm multiple times until we ended up with the current solution (comparison of moving average using the red channel of the image).
Graphing the heartbeat was also difficult, mostly because we had a hard time getting the library to properly display and update the graph in realtime.
Dealing with hardware variation between devices for image polling and processing. One potential solution was to use multithreading, which was designed and implemented but has not been optimally integrated into this build.
Accomplishments that we're proud of
- Heartbeat detection
- NFC Support
- Real-time broadcasting (s/o to Firebase)
What we learned
- Server interfacing - from pulling and pushing "heartbeat" events.
- Working with the Android Camera API.
- Integrating NFC support to transfer information between devices.
What's next for Heartbeat
- Optimisation
- Multithreading
- Refactoring
- Provide consistent accuracy from heartbeat detection algorithm across devices with hardware differences.
- Improved graph
- Improved channel searching and creation interface to support larger numbers of users.
Log in or sign up for Devpost to join the conversation.