Inspiration
Following news and staying informed without losing focus is a huge challegne: tradional media follow what's on right now and change their focus every day. AS a professiona journalist, I spent years in newsrooms glued to newswires, parsing for what's interesting for my audience. It's a hard job, and it's not something humans should be doing, especially if it's simply monitoring for specific news.
What it does
Newswatcher is a tool that allows to solve this problem by creating personalised newspapers that stay focused on one subject only and monitor chosen sources for relevant news only. It's powered by Amazon Nova, which does the hard work of reading news and deciding what's relevant, and also creates a nice frontpage layout for you. You can have as many newspapers as you want, each focused on a different subject.
How we built it
I build it with FastAPI framework that allows async processing to concurrently process news from multiple sources without overloading the system. For the frontend I used React and Chakra UI to create a nice and responsive interface. The database is PostgreSQL, and everything is containerised with Docker for easy deployment.
Challenges we ran into
The biggest challenge for these kind of systems is, obvioulsy, concurrent processing of news items, robustness and 99% uptime. I used APScheduler to schedule news fetching and processing, and implemented health checks and auto-restart for the containers to ensure the system is always up and running. Another challenge was working with the AI model for building a newspaoper: how much data should be actually handled by AI? I decided to use AI only for text and avoided handling critical data like ID's of database items with AI to avoid hallucinations and ensure data integrity. Bedrock's tool feature was a great help for this as it allows to force the model to output structured data.
Accomplishments that we're proud of
The result is surprisingly great. Considering the low cost of processing the news, a personalised newspaper that gives you the whole picture in seconds is a game changer for anyone who needs to follow news on a specific subject. You can have a front page for each subject you care about, and it will stay fresh and relevant all the time.
What's next for the Newswatcher
For the next steps, I want to add more types of news sources, add the ability to construct prompts automatically based on a couple of examples, add more delivery methods like Telegram and Slack, and the ability to provide user feedback and adjust the prompt based on it.
Log in or sign up for Devpost to join the conversation.