Inspiration

Multiple Sclerosis affects nearly 3 million people worldwide. Someone close to me lives with MS, and I've seen firsthand how exhausting it is—not just the symptoms, but the constant mental load of tracking how you feel, spotting patterns, and explaining it all to doctors.

Most symptom trackers feel like homework. Checkboxes, scales, forms. When you're already battling fatigue or brain fog, adding more effort just to document it becomes another burden.

I wanted to build something that works with MS patients, not against them. A companion that listens naturally and helps people become more self-aware of their patterns—without the friction.


What it does

MS Ally is a voice-first AI companion with four core features:

🎤 Voice-Enabled Chat Patients talk naturally about how they feel. The AI responds with empathy and speaks back via ElevenLabs—critical for those with motor difficulties or fatigue that makes reading hard.

🔍 Grounded Search via MCP

  • Ask about the MS community → searches Reddit for real patient experiences
  • Ask clinical questions → searches Google for medical resources
  • Responses are grounded in real information, not hallucinations

📝 Symptom Tracker Log mood, fatigue levels, symptoms, medications, period status, and notes—all in one place.

📊 Analytics Dashboard

  • Average mood and fatigue scores over time
  • Top symptoms ranked by frequency
  • Medication history
  • Full log history with 7/14/30/90 day filtering

The goal: turn scattered daily symptoms into visible patterns that empower better self-care and more productive doctor conversations.


How we built it

Frontend: React + TypeScript + Tailwind CSS, deployed on Google Cloud Run

Backend: FastAPI (Python) handling secure API calls to:

  • Google Gemini for conversational AI
  • ElevenLabs for text-to-speech voice output

MCP Server: Model Context Protocol server on Cloud Run providing:

  • Reddit search tool (MS community experiences)
  • Google search tool (clinical information)
  • BigQuery integration for symptom logging and analytics

Database: BigQuery storing symptom logs, enabling analytics queries

Infrastructure: Three Cloud Run services with service-to-service authentication


Challenges we ran into

Cloud Run service-to-service auth: Getting frontend → backend → MCP server IAM permissions working correctly took significant debugging. Each service needed proper invoker roles.

Voice latency: Balancing ElevenLabs response quality with conversational flow speed required tuning.

Making the AI concise: Early versions were too verbose. Tuning the system prompt to be warm but brief took iteration—patients don't need walls of text when they're tired.

MCP integration: Wiring up the Model Context Protocol tools for Reddit and Google search while keeping responses grounded and relevant.


Accomplishments that I am proud of

  • Built a complete voice-enabled app solo that meets the ElevenLabs challenge requirements
  • Created something I'd actually want to use for someone I care about
  • Successfully deployed a multi-service architecture on Google Cloud (frontend, backend, MCP server)
  • Integrated MCP tools for grounded search—responses come from real community data and real sources
  • Built a full analytics dashboard that turns raw logs into actionable insights

What I learned

  • ElevenLabs API integration for natural voice synthesis
  • Model Context Protocol (MCP) for building grounded AI tools
  • Google Cloud Run deployment and service-to-service authentication
  • Prompt engineering for empathetic, concise healthcare conversations
  • Building accessible voice interfaces for users with motor/fatigue challenges
  • BigQuery for health analytics and reporting

What's next for forMS Ally- Allie, AI powered ally empowering MS patients

Near-term:

  • Intent classification to better understand what users need
  • Conversation history with embeddings for pattern recognition
  • Trend visualization charts showing symptom patterns over time
  • Doctor visit report generation (PDF export)

Long-term:

  • Medication reminders with voice confirmations
  • Integration with wearables for passive tracking
  • Expand beyond MS to other chronic conditions
  • Community features connecting patients with similar symptom profiles

The vision: make self-awareness effortless for anyone managing a chronic illness.

Built With

Share this project:

Updates