Show care around the world.
From a nonfruitful day to a bad one to a disaster - did you have any of the above? Sometimes even a notification can show you that there’s someone thinking of you. Sometimes you feel alone. Sometimes all it takes is a gesture to make things a little better. And while the power of empathy is limited, we know that sometimes it’s the primary element that is lacking in our day.
We know people don’t need to necessarily say anything to give a gesture of goodwill and a nod to empathy. Here’s the catch - it uses Dijkstra’s algorithm but to maximize the summed weights. This project was made entirely this weekend. Read on to find out more...
What it does
The original idea was an Android app the would place your coarse location for others to see on the map. From there, you can send others on the same realtime network a simple ping, and they can do the same for you, all displayed on a map.
It is a nonverbal action, so while it emulates the dopamine-hit of gamified points, there is no room for social abuse. There is just the single ping of empathy, anonymized.
The coarse location is further scrambled with random values added to longitude and latitude to further promote non-personalized data but maintain the general sense of distance.
How we built it
For this, initially used was the language Kotlin with an express server listening to sync up all activities across multiple devices using the app. This was essentially creating a social community. Attached is the working Android studio project that counts the number of clicks received on the network. Using this technology, we can show a proof of concept that actions can be efficiently synced up through an Android application.
The app uses Android SDK for Jellybean, accounting for compatibility with 99.2% of Android devices. And since Android is more used worldwide, this choice does so for the sake of inclusivity on the first app pass, at least in 48 hours.
AWS Serverless and Web API
The Google Maps API was used to establish a test set of users and place their markers on a map, alongside the main user’s current location. A separate page can demonstrate that the different pages are linked up, showing how many other people (via opening multiple tabs) are on the network concurrently. Attached are the working files with webhooks. e.g. here (https://r193ydweri.execute-api.us-east-1.amazonaws.com/dev/).
You want to have a sense of camaraderie, knowing that when you need it most, others around the world show their support. Therefore the community is a single channel, inclusive, transparent, and synced worldwide. Again, location is scrambled and distributed to prevent another STRAVA shpiel.
Challenges we ran into
This project was started without any experience in Android app development or AWS, and subsequently Kotlin, Pusher, serverless, Google Maps API, and little experience in express. Therefore, this is what is here in 48 hours.
When we click a marker, we want an animation to show a ‘beam of energy’ to travel from that marker to the other.
We want a camera zoom system to pair the highest weight / distance from the client, promoting long-distance empathy. For example, a person who needs or is giving empathy in Brooklyn will have their map fly over to someone else live in Damascus, where they can give their gesture. This is big for promoting empathy from a distance, a feature which provided ~15 hours of frustration, and ongoing.
Accomplishments that we're proud of
Learning AWS Serverless, having the synced app work with the pusher server, successfully mapping a distribution of markers onto the view.
What we learned
Android Studio, Kotlin, Pusher, Google API
What's next for EVERYBODY
Make it prettier and fix the click events!