Inspiration

Every two minutes, a woman dies from a preventable pregnancy-related complication. In India, millions of expecting mothers — particularly in rural and semi-urban areas — have limited access to consistent prenatal care. They visit a doctor once a month at most, leaving weeks of critical health data unmonitored.

We were inspired by a simple but powerful question: What if a mother could carry a clinical companion in her pocket — one that speaks her language, understands her symptoms, and alerts her before a complication becomes a crisis?

That question became Mamora — a name rooted in "Maatru" (mother in Sanskrit), built to be the digital ASHA worker that never sleeps.


What it does

Mamora is an AI-powered maternal health companion that helps pregnant women monitor, understand, and act on their health — in their own language, anytime, anywhere.

Core Features:

  • 🩺 Clinical Vitals Tracker — Logs hemoglobin, blood pressure (systolic/diastolic), and blood glucose (fasting & post-meal). An algorithm instantly computes a Health Score and flags risks like gestational diabetes, anemia, or preeclampsia.

  • 🤖 AI Chat Assistant — Powered by Google Gemini 1.5 Flash, mothers can ask pregnancy-related questions conversationally. A rule-based fallback ensures responses are always clinically safe.

  • 🌐 3-Language Support — Full runtime localization across English, Tamil, and Hindi — switching languages live across the entire dashboard, charts, chatbot, and voice output.

  • 🗣️ Voice Assistant — Uses the Web Speech API for hands-free, speech-to-text input and text-to-speech responses — critical for semi-literate users.

  • 🥗 Symptom-Based Nutrition Advisor — Matches symptoms like morning sickness, constipation, or low hemoglobin to traditional Indian superfoods (ragi, jaggery, beetroot) with clinical dietary tips.

  • 🗺️ Hospital Finder — Leaflet.js-powered map locates the nearest maternity hospitals and emergency services using the device's GPS.

  • 🚨 Emergency SOS Dispatcher — One-tap button instantly captures GPS coordinates, packages patient details, and fires an emergency cloud alert signal.

  • 📶 Offline Sync Engine — Vitals logged without internet are queued locally and batch-uploaded automatically once connectivity is restored.


How we built it

We designed Mamora as a decoupled, production-grade client-server system:

Frontend

  • React.js (v18) — SPA architecture with component-based UI design
  • Framer Motion — Smooth micro-animations and gesture-based transitions
  • Lottie-React — SVG-based animated illustrations for the onboarding flow
  • Leaflet.js — Interactive map rendering with OpenStreetMap tiles
  • Axios — Dynamic API client with environment-aware base URL configuration
  • Web Speech API — Native browser TTS and STT for voice interactions
  • Context API — Global language state manager for live localization switching

Backend

  • Python + FastAPI — High-performance async REST API layer
  • Pydantic v2 — Strict data validation and schema enforcement
  • Uvicorn — ASGI server for production-grade async request handling
  • Rule-based ML Logic — Deterministic clinical risk engine for vitals analysis

Cloud & DevOps

  • Vercel — Frontend CDN hosting with Git-triggered CI/CD
  • Render — Backend Python Web Service (Python 3.11.8 runtime)
  • GitHub — Version control with branch protection and push protection for secrets

External APIs

  • Google Gemini 1.5 Flash — Contextual, multilingual LLM responses
  • OpenStreetMap — Free, open-source map tiles for hospital locator

Challenges we ran into

  • 🔒 API Key Security — GitHub's Push Protection blocked our first commit because a Gemini API key was accidentally hardcoded. We rewrote the entire git history using git filter-branch and migrated to .env files.

  • ⚙️ Dependency Conflicts — react-scripts requires TypeScript ^4.x, but the project initially had TypeScript ^6.0.2 in devDependencies, causing ERESOLVE failures on Vercel's clean install. We resolved this by downgrading and regenerating the lockfile.

  • 🐍 Python Version Hell — Render defaulted to Python 3.14 (pre-release), which broke the pillow package compilation. We pinned the runtime to stable 3.11.8 using a .python-version file.

  • 🗣️ Speech Duplication Bug — The text-to-speech assistant was reading messages twice due to a React state re-render cycle. We resolved it using a speechBaselineRef to track the last spoken message.

  • 🌐 Multilingual Accuracy — Ensuring clinical terms translated correctly across Tamil and Hindi without losing medical precision required iterative refinement of translation keys in the localization context.


Accomplishments that we're proud of

  • ✅ Fully deployed, production-grade application — live on Vercel + Render with automatic CI/CD pipelines.
  • ✅ Three-language real-time localization — seamless runtime switching with zero page reloads, across every component.
  • ✅ Hybrid AI safety model — combining the flexibility of Gemini LLM with hard clinical guardrails from the deterministic rule engine, preventing dangerous AI hallucinations on medical topics.
  • ✅ Offline-first architecture — vitals are never lost, even without internet access.
  • ✅ Zero-cost infrastructure — the entire platform runs on free-tier services, making it instantly replicable by NGOs or government health programs.

What we learned

  • Security-first development matters from Day 1 — secrets in source code can cause irreversible reputation and compliance damage.
  • LLMs need guardrails in healthcare — never let a generative model make unconstrained clinical decisions; always pair it with deterministic validation.
  • Accessibility is not optional — designing for semi-literate, rural users forced us to rethink every UI choice, from button sizes to voice-first interaction flows.
  • Offline capability is a feature, not an afterthought — in target regions, intermittent connectivity is the norm, not the exception.

What's next for Mamora

  • 👩‍⚕️ Live Teleconsultation — Direct video calls with certified ASHA workers and OB/GYN specialists
  • ⌚ Wearable Device Integration — Bluetooth sync with affordable IoT BP monitors and pulse oximeters
  • 🧠 ML-Powered Risk Prediction — Replace the rule engine with a trained model on real maternal health datasets for higher diagnostic accuracy
  • 🗄️ Persistent Database — Migrate from in-memory storage to PostgreSQL with secure JWT-authenticated user accounts
  • 🔔 Push Notifications — Medication reminders, missed appointment alerts, and weekly fetal milestone updates
  • 🌏 Expanded Languages — Telugu, Kannada, Malayalam, and Bengali localization
  • 🏥 EHR Integration — HL7 FHIR API connection to hospital Electronic Health Records

Built With

Share this project:

Updates

Submission history