Inspiration
In today's fast-paced world, it's hard to keep up with the constant stream of news. We have busy lives, and we don't always have time to read tons of news articles every day. We decided to create Audibrief to make staying informed easier.
What it does
Audibrief takes the top 5 news articles from Google News, summarizes them using OpenAI's GPT3.5, and then narrates the summarized articles using ElevenLab's AI voices. These voice briefs are displayed in a simple and beautiful user interface and can be played by users.
How we built it
We built a Python web server using the Quart framework. This is connected to Sveltekit frontend. When a user visits the web app, the web server fetches data from a Google News RSS Feed, scrapes article text from the links in the feed, sends this data to OpenAi's API, and then generate voice briefs through ElevenLab's API, before finally passing it back to the frontend website.
Challenges we ran into
Figuring out how to correctly use 3 different API systems was our first big challenge. We found that AI is expensive and slow, so we had to implement a caching system to improve speeds and reduce API costs. Another challenge we ran into was figuring out async behavior in Python. We wanted to call functions and APIs in parallel, to improve speeds, but this created issues with the Quart framework and the caching system. Finally, we had to figure out how to receive, convert and send audio files through a JSON API to the client.
Accomplishments that we're proud of
Combining multiple APIs into a coherent web server and product. Using async coroutines and caching to improve speed. Creating a simple and usable frontend.
What we learned
How to use APIs, python async behavior, web design
What's next for Audibrief
Custom news articles! more features!
Built With
- asyncio
- css3
- html5
- javascript
- python
- quart
- sveltekit
Log in or sign up for Devpost to join the conversation.