Inspiration

Searching and sorting through multiple links for relevant information on any topic made me instantly lose interest in learning. So I wanted to create an application which would generate a summary on any topic with relevant details and the reference links for more information. The application generates shareable links with the summary which makes it easier to share information among friends and access the same summary without any changes.

What it does

  • Generates Summary based on given topic
  • Summary is generated on a shareable link

How we built it

The application uses Spring boot for the backend, MongoDB for the database and React for the frontend. The search query is passed from the React application to the backend through a post request to the API endpoint. The backend server checks if the given query already exists on the database. If the query exists, the existing summary is returned to the frontend application. If the query doesn't exist, The backend server sends a request to Gemini Pro Generate Content API with the query to generate a summary. The generated summary is stored in the database with a unique id to identify it. The frontend application sends a get request with the id to the backend to retrieve the summary. This summary is displayed in the frontend application.

Challenges we ran into

  • Figuring out the DTO objects to be used to send and receive data from the Gemini API was a challenge as the request and response are nested JSON objects.
  • Displaying the summary as paragraphs was a challenge as the summary is returned as block of text from the Gemini API.
  • Figuring out the right prompt to get the summary.
  • Handling errors, as unexpected errors might occur while using an external API

Accomplishments that we're proud of

  • Developing a clean UI for the application.
  • Connecting to Gemini API and fetching results
  • Deploying a fullstack application

What we learned

  • How to send requests to Gemini API.
  • Importance of prompt engineering.
  • Styling using TailwindCSS
  • How to deploy an application

What's next for AI Summary Generator

  • Adding relevant images and tables in the summary page
  • User accounts to store and display previous searches of the user.
  • Button to generate a new summary for the topic if the summary displayed is outdated.
  • Allow the user to choose number of words in summary.

Built With

Share this project:

Updates