Inspiration
There's a lot of negativity in news articles nowadays. "News fatigue" is a phenomenon where people become tired of the constant barrage of negative news. We thought of making a positive only news app. For some, a positive news app may be a welcome alternative that helps them stay informed without feeling emotionally drained.
What it does
Proton News is a full-stack application, built completely by us. Here's what it does:
- Queries NewsAPI for articles based on a user's search category
- Uses Cohere to do a sentiment analysis of the articles, and filters out 'negative articles'
- Takes the positive articles, uses Cohere to summarize the articles and stores them on CockroachDB for easy access
- Retrieves the articles from Cockroach DB whenever a user runs the page
How we built it
The application primarily has two components: a frontend, and a backend.
- The frontend is build on the Next.js framework, with server-side rendering for ultra-fast loads
- The runtime used is Bun, which is a Node.js alternative popular for its low latency and responsiveness
- The backend is primarily built in FastAPI on Python
- The database where the articles are stored is server less Cockroach DB
- Sentiment analysis and summarizing of articles is done using Cohere
Challenges we ran into
The biggest challenge we had was working with ORM and relational database. We had little experience working with relational databases, so we spent large amount of time learning to query and insert data. The news API that we worked with also returned different types of data (e.g. HTML and string), making text parsing difficult.
Accomplishments that we're proud of
The project was very ambitious, with plans of integrating a full-fledge SQL database such as CockroachDB, a front-end interface in React as well as a back-end in Python. We, therefore, couldn't believe that MVP was completed within just under 33 hours. It was our blood (nosebleed), sweat, midnight starvation and definitely the all-nighters that made the project much more special. Furthermore, each individual member developed much better skills in SQL database, full-stack developmennt and event graphic designer.
What we learned
We learned how to work with relational databases (CockroachDB), developing frontend using Next.js, and using third-party services such as Cohere. We also learned to plan our projects thoroughly and research the feasibility of what we wanted to achieve.
What's next for ProtonNews
ProtonNews still has a lot to offer. We're planning on integrating more of Cohere's features such as rerank and semantic search to allow a wider search range. The database (although functional) has fairly primitive functionalities. As such, better design schema could be contructed to further optimize the queries, allowing the response to be much faster. Finally, deployment is a must-have. The front-end will be quickly delivered with Nextjs, meanwhile, the back-end will be hosted on Google Cloud.
Built With
- bun
- cockroachdb
- cohere
- fastapi
- next.js
- python
- react
- sqlalchemy
- typescript
Log in or sign up for Devpost to join the conversation.