Inspiration
After watching the episode Nosedive from Black Mirror, we wanted to make a similar app as the one demonstrated in the show. Basically, the premise is that every single social interaction is rated, and people's cumulative ratings can have impacts on their lives (what jobs they can get, their interest rates on loans, the neighborhood they can live in, etc).
What it does
Repugraph uses Bluetooth to creatively find nearby phones with it installed, and then allows users to rate each other when they are close like in the TV show. Ratings are sent to my server and then pushed to the person being rated.
Repugraph also lets you see ratings of people you are physically close to.
How I built it
We used the AltBeacon API for Android and a custom frequency analysis function to determine whether or not devices are close enough to rate. Push notifications are handled via Firebase and the server-side logic is written in Node.js.
Challenges I ran into
Tweaking the Bluetooth Low Energy settings and our frequency analysis function to reliably determine proximity was the hardest part. The second hardest part was getting Google's braindead Firebase dependencies and Gradle plugins to work properly.
Accomplishments that I'm proud of
I'm proud of figuring something out about signal strength and reliability analysis, as well as finally figuring out how to properly do push notifications in Android.
What I learned
I learned how to use newer Android frontend libraries like Butterknife and Volley, and also finally realized the utter unreliability of Bluetooth.
What's next for Repugraph
I want to eventually implement a proper avatar uploading system, sounds for receiving ratings, and proper security.

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