"Fake News" is everywhere. When we receive news updates from media outlets, we're getting one side of a multi-sided story. What better way to counteract this by providing a platform that allows ALL sides to share their story?
What it does
Scrapbookit allows users to share updates about a particular event. These same users can then request a "newsletter" about that event that contains updates from anyone else who gave an update about the same event. Say, for example, you are really enjoying BitCamp. You would send an email to email@example.com with the subject line: "BitCamp", and the body with your update, story, interesting fact, or shameless plug for your hack! Then, you want to see what other people are saying about BitCamp, so you draft up another email, this time with the subject line "about BitCamp". You'll receive a short newsletter that contains updates from the other users who posted about Bitcamp, so for example, you might see: firstname.lastname@example.org said: "check out my app near the cabin!", along with a host of other updates.
How we built it
We used SparkPost API to create an inbound domain and relay webhook that POSTed the data in JSON format to our FireBase database. Our backend, written in node.js, parses incoming emails for the subject and the body, and recognizes if it's a request or an update. All data is stored in structures we call "scrapbooks". The very first update about a new subject creates the scrapbook, and all subsequent updates with the same subject simply add another "page" to the scrapbook. Emails were sent using an outbound domain, powered by SparkPost API also.
Challenges we ran into
DNS changes take really long, and we had to wait for that to happen before any of our webhooks would work.
Accomplishments that we're proud of
Encoding and decoding in-line pictures is actually really annoying, but we managed to figure it out..
What we learned
Everything about emails, webhooks, domains, DNS's, Firebase, and a lot more
What's next for Scrapbookit
Finishing implementing attachments and pictures Implement sorting by location or date Prettying the emails sent out by our bot Expand in different areas such as natural disaster recovery, awareness, etc.