When we saw that addressing the issues arising from natural disasters, an idea jumped immediately into our minds. We've all heard about the problems facing Puerto Rico after the hurricane - and we've heard plenty about how little help they got. That inspired us to make something that might enable us to act up against that sort of helplessness: a way to give us some way to help.
What it does
Samaritan operates on the basis that there are people out there who want to help, and that there are people out there who need help. The requesters put out requests for help - a request, a description of what they need help with, and time and a place, and a guess at the number of people needed for the task at hand. The volunteers see these requests in a feed based on time and location: they get a selection of the closer requests. Requesters could be those in direct need of help, or even those who organize help and know where it is needed. Volunteers would not be obligated to do anything, and thus protect themselves from being roped into unwilling situations.
How we built it
We used express.js (and pug and less) to create a rudimentary user interface. The central piece of this all is the database of requests stored using MongoDB Stitch, with a geospatial index used for all the searching. From there it was a matter of facilitating the creation and viewing of requests by users.
Challenges we ran into
A whole lot of this hackathon was a frustrating swim through API documentation. Figuring out how express.js worked, how pug worked, how to run a node.js project, what the difference was between MongoDB and MongoDB Stitch, etc. Still, with time, documentation, and tears, we made it through (mostly). Another thing that we had trouble was design: functionality may be important, but as far as we can tell a lot of presenting for a hackathon is making your app pretty - something we don't exactly have the skills nor time for.
Accomplishments that we're proud of
What we learned
What's next for Samaritan
For all our pride and glory, it's obvious that Samaritan is not ready for any sort of use. We would want to build a legitimate user system, with the main page tailoring location around that user's reported location. Originally, we also wanted tags of a sort in response to true natural disasters that would aggregate all requests directly related to whatever catastrophe had happened.