Inspiration

Therapists often struggle to analyze long conversations and identify key insights efficiently. We wanted to create a tool that not only transcribes audio but also visualizes relationships within the conversation, making it easier to detect patterns, emotional cues, and important themes.

What it does

Echonodes processes audio files by:

  • Transcribing speech into text using AI-powered speech-to-text models.
  • Structuring the extracted text into meaningful entities and relationships.
  • Visualizing the conversation in Neo4j, allowing therapists to explore connections, recurring themes, and emotional patterns interactively.

How we built it

Frontend Development (ReactJS)

  • The user interface is built using ReactJS, providing an intuitive and interactive experience for therapists.
  • The frontend allows users to upload audio files, view processed transcripts, and explore conversation graphs visually.

Speech-to-Text Conversion (Azure Cognitive Services Speech API)

  • We used Azure Cognitive Services Speech to transcribe audio files asynchronously.
  • The uploaded audio file is processed, and conversation text is extracted with high accuracy.
  • The transcription process runs in the background without blocking the UI, ensuring smooth performance.

Data Storage and Processing (Azure SQL)

  • All extracted conversation data is securely stored in Azure SQL for structured storage and retrieval.
  • The system maintains historical records, allowing therapists to track patient progress over multiple sessions.

Graph Database and Querying (Neo4j & Cypher Queries)

  • We transformed patient conversations into graph structures using Neo4j, a powerful graph database.
  • Extracted entities (e.g., symptoms, emotions, events) are converted into nodes, and relationships between them are established.
  • Cypher queries are generated dynamically to insert, update, and retrieve conversation data in Neo4j.
  • If a patient returns for another session, their previous graph is appended with new issues instead of creating a new one, ensuring a continuous and evolving record of the patient’s journey.

Graph Visualization (PyVis & NetworkX)

  • To render the conversation graph in the UI, we used PyVis and NetworkX, which allow us to create interactive network visualizations.
  • This enables therapists to visually explore relationships between symptoms, concerns, and past conversations.
  • The graphs dynamically update, providing a real-time view of evolving discussions.

Challenges we ran into

  • Ensuring High-Quality Transcriptions – Accurately transcribing patient conversations with background noise and diverse accents.
  • Efficiently Structuring Conversation Data into a Graph – Mapping unstructured conversations into structured Neo4j nodes and relationships.
  • Managing Patient Records and Graph Updates – Ensuring previous records are correctly linked when a patient returns.
  • Rendering Complex Graphs in the UI – Handling large-scale visualizations efficiently without performance lag.

Accomplishments that we're proud of

Seamless Speech-to-Text Integration

  • Successfully implemented Azure Cognitive Services Speech-to-Text, ensuring high accuracy in transcriptions even with varying accents and background noise.
  • Enabled asynchronous processing, allowing a smooth user experience without blocking UI interactions.

Transforming Conversations into Graph-Based Visuals

  • Developed a fully functional pipeline that converts unstructured patient conversations into structured graph representations using Neo4j.
  • Created a system that dynamically updates graphs when a patient returns, ensuring an evolving and contextual understanding of their concerns.

Efficient Data Storage & Retrieval

  • Implemented Azure SQL to store transcriptions and structured data securely.
  • Ensured efficient query handling and optimized Cypher queries to retrieve and update patient records in Neo4j.

Interactive and Scalable Graph Visualization

  • Integrated PyVis & NetworkX to render complex graph visualizations in a user-friendly UI.
  • Optimized graph rendering to handle large-scale conversation data efficiently without performance lags.

Enhanced Therapist Workflow & Insights

  • Developed an interactive, AI-powered tool that allows therapists to explore patient relationships, concerns, and emotional patterns visually.
  • Provided a historical view of patient conversations, helping therapists track progress over multiple sessions.

Built a Scalable & Secure System

  • Designed a scalable architecture that can handle multiple patients and evolving conversations efficiently.
  • Implemented secure data storage and processing to protect sensitive patient information and comply with privacy regulations.

What we learned

Graph Databases are Powerful for Conversational Data

  • Neo4j’s ability to map relationships between different parts of a conversation provided deeper insights than a traditional relational database.

Visualizing Large Graphs Requires Performance Tuning

  • As conversations grew, the graphs became complex, and we had to optimize PyVis and NetworkX for better UI performance and interactivity.

Optimizing Asynchronous Workflows is Crucial

  • Processing large audio files asynchronously while ensuring real-time updates in Azure SQL and Neo4j required careful task orchestration.
  • We learned how to handle background processing, batch updates, and database optimization to improve performance.

Structuring Unstructured Data is Challenging

  • Converting free-flowing patient conversations into structured graphs required a deep understanding of NLP, entity extraction, and relationship mapping.
  • Designing a schema in Neo4j that balances flexibility and efficiency was key to ensuring scalability.

What's next for EchoNodes

Real-Time Transcription & Graph Updates

  • Implement real-time speech-to-text conversion so that therapists can see live transcriptions while a session is in progress.
  • Automatically update the Neo4j graph in real time, ensuring that new insights are instantly available.

Enhanced Graph Visualization & UI Improvements

  • Introduce graph filtering options so therapists can focus on specific topics, emotions, or time periods.

Sentiment Analysis & Emotion Detection

  • Integrate sentiment analysis to detect emotional tones in conversations, helping therapists identify distress, progress, or behavioral patterns.
  • Highlight key emotional shifts within the graph for deeper insights.

Built With

Share this project:

Updates