SympAI – Voice + Text Symptom Checker

Inspiration

The idea for SympAI came from recognizing the gap between noticing symptoms and seeking medical help. Many people delay care due to uncertainty, embarrassment, or lack of access. SympAI bridges that gap by offering an AI-powered assistant that can listen or read your symptoms and suggest possible conditions instantly—giving users clarity and confidence to take the next step in their care journey.

What it does

SympAI allows users to describe symptoms using either voice or text. The system sends that input to a language model that analyzes the information and returns a possible explanation or condition. It's fast, intuitive, and accessible across devices—ideal for quick self-checks or integration into telehealth apps. It even supports real-time voice recognition through the browser.

How we built it

We used FastAPI to build a lightweight, scalable backend API that routes user input to OpenAI's GPT-4 model. On the frontend, React with TypeScript powers a clean interface with a voice input feature using the Web Speech API (webkitSpeechRecognition). The frontend sends symptom descriptions to the backend, which returns potential diagnoses. The entire app runs seamlessly on a local or cloud-deployed Docker container.

Challenges we ran into

  • Handling voice input across different browsers was tricky—support varies, especially on mobile.
  • Ensuring CORS compatibility between the React frontend and FastAPI backend.
  • Keeping the latency low when interfacing with large language models while maintaining conversational speed.
  • Designing simple yet clear feedback for users without medical jargon.

Accomplishments that we're proud of

  • A working prototype that can listen, understand, and reply to symptom descriptions in real-time.
  • Integration of voice and text input into a unified chat interface.
  • A clean, modular codebase using modern technologies that’s easy to deploy and extend.

What we learned

  • Voice-first interfaces require thoughtful fallback handling and accessibility considerations.
  • Prompt clarity is critical when working with LLMs in sensitive domains like healthcare.
  • Minimal, intuitive UI design goes a long way for user trust in health-related tools.

What's next for SympAI

  • Add support for multilingual voice input.
  • Integrate a basic symptom database for model grounding and fact-checking.
  • Add a patient history log and export option.
  • Integrate with other Teledoc apps and send a notification to the primary care doctor.
  • Integrate with the health app on each phone device and track chronic symptoms and recommendations
  • Fine-tune or self-host LLMs for privacy-sensitive deployments.
  • Package the app into a mobile PWA for broader access.

Built with using FastAPI, React, OpenAI, and Web Speech API.

Built With

Share this project:

Updates