Inspiration
Are you tired of sifting through lengthy news articles? Do biased narratives and overwhelming information leave you feeling exhausted? That's where Gist comes in. Inspired by the frustration of traditional news consumption, Gist revolutionizes the way you stay informed. By presenting news in a concise and easily digestible format, we make it effortless for you to stay up-to-date without getting lost in a sea of irrelevant details. Say goodbye to boredom and hello to clarity with Gist.
What it does
Introducing Gist – a minimalistic news web application designed to simplify the way you consume news. OpenAI's ChatGPT model, summarises lengthy articles into bite-sized, digestible snippets, ensuring you get the essence of each story without the overwhelm.
Everyday, our platform scrapes articles using NewsData.io API and are securely stored in our MySQL database, guaranteeing both freshness and security of the content. When you visit the Gist explore page, you're greeted with a curated selection of summarized news articles, neatly categorized for easy navigation.
With Gist, you can say goodbye to information overload and hello to clarity and convenience. Stay in the loop with the topics that matter most to you. Experience the future of news consumption with Gist – where the essence of every story is just a click away.
How we built it
Our project contains both frontend and backend components. The scripts, packages, and APIs used in this project are as follows:
Frontend:
- ReactJS is a fast, lightweight and responsive framework for modern web development, providing users with a simple and interactive user interface.
- TypeScript is a strongly typed language that ensures a good developer experience.
Backend:
- Python 3.12 is used as the programming language of choice for the backend.
- FastAPI is a high-performance web framework for building APIs in Python.
- MySQLdb is a library that provides an interface for connecting to a MySQL database. It allows you to execute SQL queries, fetch results, and perform database operations programmatically using Python.
- Newspaper is a library by CodeLucas used for extracting and parsing articles from websites. Requests is used for making HTTP requests for interacting with web services and APIs
- OpenAI: We used OpenAI’s API gpt-3.5-turbo-1106 model to summarize articles scraped by the Newspaper library.
- JSON is a built-in library used for encoding and decoding JSON data.
- NewsData.io is a free news api to search, collect and track worldwide news.
Challenges we ran into
One of the primary challenges we encountered during the development process was designing the user interface (UI) and user experience (UX) for our application. Given that none of us had prior experience in UI/UX design, we faced difficulties in creating a visually appealing and intuitive interface that would effectively serve our users' needs. Overcoming this challenge required extensive research, exploration of design principles, and iterative feedback gathering to refine the UI/UX design.
Another significant challenge we faced was devising a method to scrape news articles from various websites reliably. Scraping news articles presented technical hurdles, including handling dynamic web pages, navigating through different HTML structures, and ensuring data integrity and consistency across sources.
Lastly, we faced challenges in optimizing prompts for the GPT model to generate concise summaries of large articles. By fine-tuning the prompt with bullet points and maximum length, we aimed to overcome verbosity. Additionally, we tackled issues where the model appended unnecessary responses by implementing post-processing techniques such as text segmentation and truncation to refine the summaries for coherence and relevance.
Accomplishments that we're proud of
It was our first time participating together as friends at a hackathon, and we're incredibly proud of developing a functioning prototype in under 48 hours.
What we learned
Participating in a hackathon was a transformative experience for all of us. Within the span of just 48 hours, we not only conceived an idea but also meticulously planned, designed, and built a project from scratch.
We learned to brainstorm effectively, leveraging diverse perspectives to generate innovative ideas. Clear planning was crucial, helping us allocate time efficiently and adapt to unexpected challenges. Designing the project taught us about user experience principles and the importance of iterative refinement. Throughout development, we explored new libraries, APIs, and languages, expanding our technical skills. We leveraged our collective strengths to overcome obstacles and achieve our goals.
What's next for Gist
- Weekly Topic Recaps: Get a summary of the week's news for each topic.
- Subscriptions: Stay updated with specific news sources like ABC News.
- Advanced Search: Find articles by date, topic, or content easily.
- Backend Bias Ratings: Automatically rate articles based on their bias levels for transparency, allowing users to know if they should take the content with a pinch of salt.
- Comments Section: Engage with other users by commenting on articles.
- Smart Content Tracking: Track time spent on articles, allowing more curated explore pages.
Built With
- fastapi
- mysql
- openai
- python
- react
- typescript
- vite

Log in or sign up for Devpost to join the conversation.