XHacks 2021 Startup Track Winner: Be Heard. Educate, Enact, Empower. No voice left behind. (backend)

Overview

Be Heard: X Hacks 2021 Submission

Educate, Enact, Empower. No voice left behind. logo

Inspiration

To say 2020 was an eventful year would be an understatement. More than ever, social activism is at the forefront of global headlines and both social impact investing and activism are rising at astronomical rates. Because of all of this, we have created Be Heard. Harnessing natural language processing and data powered by global news syndicates, Be Heard is an information services platform that guarantees that every piece of news is easily digestible and ensures that no one’s voice goes unheard.

What it does

Introducing Be Heard. A one-stop destination for issues around the world, Be Heard is the ultimate tool to educate, emphasize, and enact on critical current events.

Focused on empowerment, our app offers two pathways for users to use our platform. ###Educate On the Educate screen, we use the Contextual Web Search API which harnesses webscraped data from the world’s largest news providers to generate a curated news feed based on a user’s interests, including a reading calendar, spotlight section, and recent headlines section. beHeard

  • First, we have a reading calendar which is intended to hold different articles, podcasts, books, and more for each day of the month.
  • Next, we have the spotlighted section, with posts created by other users that align with your interests. This is what makes our app truly special. It’s not just a news app, it’s a platform for people to have their voices heard.
  • Lastly, we have a collection of news related to the users interests as well as recent headlines. ###Enact On the enact pathway, users have a plethora of ways to use their newfound knowledge to make a difference in the world. Here are our list of features:
  • Create Spotlight: Users can pay to create and post their own articles to spread awareness on a topic they are passionate about. enact2
  • Email Representatives: Users can email their local representatives about a specific issue with a single click.
  • Sign Petitions: Users can easily find and fill out petitions by filtering by topic.
  • Generate Linktree: Users can choose various forms of resources to add to a customized Linktree. A Linktree is a common tool used by social activists to gather information all in one place. Our application makes it easy for people to participate in this.
  • Generate Infographic: Users can either input their own information or bring in outside sources and let our NLP text summarization model summarize it and then produce a shareable infographic.

How we built it

Our team decided to use React Native Expo for the frontend and Flask for our backend servers, with one hosted on AWS and MongoDB Atlas as our database.

stacked

Frontend

Our frontend was built as a React Native mobile app using Expo, capable of running on both iOS and Android mobile devices. By sending HTTP requests to our REST API on our backend, we can retrieve news articles relevant to the user.

Design Flow

figma

Backend

For handling user authorization and database management, we decided to use a Flask server which we hosted on AWS, using Amazon’s Elastic Beanstalk This server is connected to a MongoDB Atlas cluster, also hosted on the cloud, where we store user credentials and user-generated content. We also implemented JSON web tokens to authenticate users.

For hosting our ML model, we used another Flask server, this time hosted through DigitalOcean’s Droplets.

Finances

After conducting market research on possible competitors, we have concluded that Be Heard sits tight at the intersection of the Information Services Space and the Social Media Networking market, giving Be Heard a total Share of Obtainable Market of over 1 million dollars, and provides users with an unparalleled focus on activism and breadth of news. stonks

Taking our costs of operation (Cloud as a Service, Database, API integration) as well as our projected costs with a targeted Monthly Average Users of 25,000, we estimate profitability by Year 3 of operation.

cash_money

Challenges we ran into

A few hours before the deadline, our server stopped displaying information for the last two sections of our Educate page. Although this was disappointing, we can still tell you that the user could view the entire collection by clicking at the bottom. They could also see an article preview as well as a link to the complete article when they click on the image.

Accomplishments that we're proud of

Serving a NLP model through Digital Ocean Configuring our flask server and CI/CD pipeline on AWS Building a multi-layered app navigation flow Bringing a high-fidelity mockup to life

What we learned

  • React Native
  • MongoDB
  • Flask
  • AWS
  • Digital Ocean
  • Ubuntu OS

What's next for Be Heard

The Be Heard team is looking forward to completing the implementation of the features on the Enact page. These features include the petition platform, Linktree generator, and a more advanced infographic creator.

We also hope to monetize our app by having sponsored posts for the spotlight section and selling anonymized and aggregated data of what news/topics that users feel are important to them to news providers.

Most importantly, we can’t wait to see the impact this app can have on the world of social activism!

Deployment

Our deployment is at this link (must open with the Expo Go mobile app): http://exp://gc-fxb.anonymous.be-heard-frontend.exp.direct:80 expo qr code

Owner
Be Heard: XHacks 2021 Startup Track Winner
Google Fit Sensor Component

Google Fit Sensor Component

Ivan Vojtko 21 Dec 20, 2022
Very simple encoding scheme that will encode data as a series of OwOs or UwUs.

OwO Encoder Very simple encoding scheme that will encode data as a series of OwOs or UwUs. The encoder is a simple state machine. Still needs a decode

1 Nov 15, 2021
An open-source Python project series where beginners can contribute and practice coding.

Python Mini Projects A collection of easy Python small projects to help you improve your programming skills. Table Of Contents Aim Of The Project Cont

Leah Nguyen 491 Jan 04, 2023
GCP Scripts and API Client Toolss

GCP Scripts and API Client Toolss Script Authentication The scripts and CLI assume GCP Application Default Credentials are set. Credentials can be set

3 Feb 21, 2022
Projeto para ajudar no aprendizado da linguagem Pyhon

Economize Este projeto tem o intuito de criar desáfios para a codificação em Python, fazendo com que haja um maior entendimento da linguagem em seu to

Lucas Cunha Rodrigues 1 Dec 16, 2021
Repositorio com arquivos processados da CPI da COVID para facilitar analise

cpi4all Repositorio com arquivos processados da CPI da COVID para facilitar analise Organização No site do senado é possivel encontrar a lista de todo

Breno Rodrigues Guimarães 12 Aug 16, 2021
Practice in Oxford_AI&ML class

Practice in Oxford_AI&ML class

St3ve Lee 2 Feb 04, 2022
Домашние задания, выполненные на 3ем семестре РТУ МИРЭА, по дисциплине

ДЗ по курсу "Конфигурационное управление" в РТУ МИРЭА Описание В данном репозитории находятся домашние задания, выполненные на 3ем семестре РТУ МИРЭА,

Semyon Esaev 4 Dec 22, 2022
Easily map device and application controls to a midi controller

pymidicontroller Introduction Easily map device and application controls to a midi controller

Tane Barriball 24 May 16, 2022
TeamFleming is a multicultural group of 20 young bioinformatics enthusiasts participating in the 2021 HackBio Virtual Summer Internship

💻 Welcome to Team Fleming's Repo! #TeamFleming is a multicultural group of 20 young bioinformatics enthusiasts participating in the 2021 HackBio Virt

3 Aug 08, 2021
Ant Colony Optimization for Traveling Salesman Problem

tsp-aco Ant Colony Optimization for Traveling Salesman Problem Dependencies Python 3.8 tqdm numpy matplotlib To run the solver run main.py from the p

Baha Eren YALDIZ 4 Feb 03, 2022
Goddard A collection of small, simple strategies for Freqtrade

Goddard A collection of small, simple strategies for Freqtrade. Simply add the strategy you choose in your strategies folder and run. ⚠️ General Crypt

Shane Jones 118 Dec 14, 2022
A student information management system in Python

Student-information-management-system 本项目是一个学生信息管理系统,这个项目是用Python语言实现的,也实现了图形化界面的显示,同时也实现了管理员端,学生端两个登陆入口,同时底层使用的是Redis做的数据持久化。 This project is a stude

liuyunfei 7 Nov 15, 2022
Get information about what a Python frame is currently doing, particularly the AST node being executed

executing This mini-package lets you get information about what a frame is currently doing, particularly the AST node being executed. Usage Getting th

Alex Hall 211 Jan 01, 2023
Tutor plugin for integration of Open edX with a Richie course catalog

Richie plugin for Tutor This is a plugin to integrate Richie, the learning portal CMS, with Open edX. The integration takes the form of a Tutor plugin

Overhang.IO 2 Sep 08, 2022
Project repository of Apache Airflow, deployed on Docker in Amazon EC2 via GitLab.

Airflow on Docker in EC2 + GitLab's CI/CD Personal project for simple data pipeline using Airflow. Airflow will be installed inside Docker container,

Ammar Chalifah 13 Nov 29, 2022
Delayed iteration for polling and retries.

Does Python need yet another retry / poll library? It needs at least one that isn't coupled to decorators and functions. Decorators prevent the caller

A. Coady 22 Dec 29, 2022
Package pyVHR is a comprehensive framework for studying methods of pulse rate estimation relying on remote photoplethysmography (rPPG)

Package pyVHR (short for Python framework for Virtual Heart Rate) is a comprehensive framework for studying methods of pulse rate estimation relying on remote photoplethysmography (rPPG)

PHUSE Lab 261 Jan 03, 2023
The Python Achievements Framework!

Pychievements: The Python Achievements Framework! Pychievements is a framework for creating and tracking achievements within a Python application. It

Brian 114 Jul 21, 2022
Generate Gaussian 09 input files for the rotamers of an input compound.

Rotapy Purpose Generate Gaussian 09 input files for the rotamers of an input compound. Distance to the axis of rotation remains constant throughout th

1 Jul 16, 2021