Inspiration

We hear people say all the time that they'd like to keep up with the news, but can't. Because it's too depressing, or too much, or too complicated. News avoidance is a real problem that causes people to be less informed and connected to their local and global communities, and the stress and anxiety that can come with being surrounded by sensationalist, demoralizing news is also all too real. News outlets often prioritize sensational and negative stories because they tend to attract more attention.

Constant exposure to tragic events, conflicts, and crises can be emotionally draining and contribute to a sense of hopelessness and anxiety. It can be overwhelming and bleak. Not to mention, impossible to keep up with... but it doesn't need to be!

What it does

Given a list of news sources and other parameters, GoodNews! presents a sourced, AI-generated newsletter! More specifically, choosing your settings on the website sends a request to the backend which scrapes news articles, filters and summarizes them using GPT + the user’s settings, and sends the results via email.

How we built it

React with Vite was used for the frontend framework and Tailwind CSS for styling/responsiveness, allowing it to look good on many sorts of desktop screen/windows sizes. React useState hook was used to gather up the users preferences and an email to pass an object of preferences to the bot.

On the Python backend, the OpenAI API was used to send requests to GPT, and an open-source library called NewsCollector was modified for our purposes in order to get news articles.

Challenges we ran into

As with many hackathon projects, we started very ambitious and had to scale back to goals that were more manageable within the given time frame. For example, updating the website with the requested newsletter would be too slow, given the response time of NewsCollector and GPT.

Questions that seemed trivial, such as “what will the newsletter actually look like in the end, design-wise?” tripped us up. It wasn't as simple as it may have sounded!

Unfortunately, connecting our frontend and backend on one machine to run locally posed last-minute problems, and we couldn't get an end-to-end system together.

Accomplishments that we're proud of

  • A really slick, modern web design
  • A system that can take a set of user parameters, construct prompts on the fly to send to OpenAI, and put the results together in a newsletter and send them as an email

What we learned

  • Plan for more time for putting all the parts together at the end, even if they're all ready.

What's next for GoodNews!

Perhaps putting the backend on Google Colab or something so the frontend can ping it instead of needing to run both locally (and running into all sorts of Python problems as a result).

Selection of the type/area of news would be a good future add. Fixing up of the newsletter design to be prettier.

Built With

Share this project:

Updates