Inspiration

During my first research internship last winter, I found it challenging to navigate the overwhelming amount of information online. It was difficult to identify promising research topics and stay focused on my own direction without getting sidetracked. Although there are tools for taking notes, none truly supported the research thinking process—from offering detailed, curiosity-driven insights to helping me keep track of how my ideas evolved over time.

That’s when I conceived ReSONAte: a web-based AI research assistant powered by the Perplexity Sonar API, which excels at generating in-depth responses to research-related prompts while also supporting a structured and visual research journey.


What it does

ReSONAte provides two core functionalities to assist researchers:

  1. QA View - Ask any research-related question and receive a structured response

  2. CoT (Chain-of-Thought) Tree View - Visualize your research journey as a growing tree


How we built it

The project is built with a Streamlit frontend and a FastAPI backend. Here's a breakdown:

QA View

  • Answer: Uses Perplexity Sonar-Pro API to provide a profound, well-structured reply
  • Citation: Visual previews of cited sources for the answer via the LinkPreview API.
  • Research Papers: Leveraged KeyBERT to extract key topics and Semantic Scholar API to retrieve a curated list of recent, relevant publications.

CoT Tree View

  • Tree Visualization: Queries are displayed in a directed vertical graph. Implemented with Graphviz for structured tree rendering.
  • Interaction History: Click on past queries to revisit corresponding answers and papers, helping refine your direction. Session data stored in Streamlit's session state, enabling users to revisit any prior query and response.

Challenges we ran into

  • Session Management: Handling multiple sessions in Streamlit—especially switching between them or initializing a new one—was more complex than expected due to the app rerunning from top to bottom on every user interaction.

  • Research Paper Retrieval: Before setting up a stable Semantic Scholar API key, the paper-fetching process was inconsistent and unreliable.


Accomplishments that we’re proud of

  • Developed a complete prototype from concept to execution by myself.
  • Created an interface that helps researchers stay focused and organized amidst overwhelming online information.
  • Integrated Perplexity Sonar Pro and Semantic Scholar, resulting in highly relevant and deep research assistance.

What we learned

  • Building a working prototype is a chain of small, solvable problems.
  • The developer community (and the internet) is full of solutions—knowing how to search is key.
  • Tenacity and consistency are essential to transforming a vision into reality.

What’s next for ReSONAte

  • Performance Improvements – Reduce interface latency for smoother UX.
  • File Upload Support – Enable users to upload PDFs or documents alongside their queries.
  • Smarter Suggestions – Incorporate user history to propose personalized research directions.

Built With

  • fastapi
  • linkpreview
  • perplexity
  • python
  • semanticscholar
  • streamlit
Share this project:

Updates

Submission history