Inspiration
Living in times of rapid social change, more individuals want to actively contribute their voices in bettering their community. Due to the coronavirus pandemic, many people are looking for a way to civically engage from home. Sending an email to one’s elected officials is a fast and simple way for individuals to take swift action on issues they care about. But, many individuals do not know where to start.
What it Does
purple makes it easy for an individual to make a social impact. After a user inputs their zip code, local and national news stories on issues that they might care about are displayed. A user also has the ability to filter the stories displayed by five categories: top headlines, healthcare, education, economy, and climate change. These categories are some of the most pressing concerns of today’s generation, according to a report by the Pew Research Center. If a story interests a user, they can click on it to learn more.
If they are motivated by the article to email their elected official about the issue, they can click on the corresponding button. A curated email template for the issue discussed in the article is displayed to the user. The user can choose what congressperson they want to send the email to and customize the template based on the suggestions provided.
After the user generates their email, the completed template is displayed with the option to further edit. If the user is ready to send their email, they can click on the corresponding button and their email client will open with the completed email. Users also have the option to send the email template to their community so that they too can contribute their voice.
How we built it
Functionality (contrib. Q & Sung)
- Backend is a REST API that communicates with a hosted FireStore database.
- Created a dynamic single page application that provides the user a way to access local/national news stories and send emails to their local elected officials.
- Frontend logic was implemented in Angular.js and state was maintained with NGRX.
- Angular Editor was used to draft the emails and nodemailer, interfaced with mailtrap, as a smtp server.
Design (contrib. Brooke & Chanha)
- The UI was designed with Figma and implemented with Tailwind CSS.
Challenges we ran into
- How to customize emails: freeform vs fill-in/drop-down form. The complexity of allowing users to have templates and how much control we should given them
- Third party libraries in displaying and generating html and sending it through email.
Accomplishments we are proud of
- Implementing a functional and easy-to-use interface that connects to a backend API.
- Designing a product that helps meet a niche area of helping those unfamiliar with politics write and send emails to their elected officials.
What we learned
We learned best practices for web application development, how to create an app built for bipartisan civic engagement, and ways to integrate activism into our everyday lives.
What’s next for purple
- Additional Features
- Connect to email delivery APIs (e.g. democracy.io) - Automate the process of sending emails to elected officials by connecting with other email delivery APIs. Democracy.io is one such API that sends emails to elected officials.
- Crowdsourcing locally relevant issues - Allow users to submit different issues that they care about and add them to the database.
- Data processing and text summarization/categorization (for automation) - Summarizing dense news articles into concise statements or phrases that users can add to their emails.
- Having better-looking templates with more user options
- We hope to integrate purple into a larger social media application built for grassroots activism and campaigning. With purple, everyone can be an active member of democracy!
Ethical Considerations
In our design process, we considered how to curate news stories and email templates that would encourage any individual, no matter what political beliefs, to write an email to their elected officials.
The news stories displayed come from sources across the political spectrum so that a user can learn more about all sides of an issue. Also, because we hope that those new to civic engagement will use our service, it is important that they know all sides of the issue. The email templates were curated with neutral language and the option to customize the text so that each user can take their own unique stance on the issue.




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