Your caring personal health assistant for families via WhatsApp
Mummy is an intelligent WhatsApp bot that helps you and your family track health records, analyze medical reports, monitor health trends, and manage medications - all through simple WhatsApp messages.
- π Intelligent Report Analysis - Upload PDFs or photos of medical reports, get AI-powered analysis
- π Medication Tracking - Track medications with dosage, frequency, and timing
- π Health Trends - Visualize and track health metrics over time
- β Natural Language Queries - Ask questions about your health history in plain English
- π¨βπ©βπ§βπ¦ Multi-User Support - Separate, private data for each family member
- π Secure - Phone-based authentication, encrypted storage, HIPAA-ready architecture
- π€ Powered by Claude AI - Advanced understanding and analysis using Anthropic's Claude
- Node.js 18+ and npm
- MongoDB (local or Atlas)
- Twilio account with WhatsApp enabled
- Anthropic API key (for Claude)
# Clone the repository
git clone https://github.com/rohanphw/mummy.git
cd mummy
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env
# Edit .env with your credentials
# Start development server
npm run devEdit .env with your credentials:
# Twilio WhatsApp
TWILIO_ACCOUNT_SID=ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
TWILIO_AUTH_TOKEN=your_auth_token
TWILIO_WHATSAPP_NUMBER=whatsapp:+14155238886
# Anthropic Claude AI
ANTHROPIC_API_KEY=sk-ant-xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# MongoDB
MONGODB_URI=mongodb://localhost:27017/mummy
# Application
PORT=8000
NODE_ENV=development
DEFAULT_TIMEZONE=Asia/Kolkata-
Expose your local server (using ngrok):
ngrok http 8000
-
Configure Twilio webhook:
- Go to Twilio Console β Messaging β WhatsApp
- Set webhook URL:
https://your-ngrok-url.ngrok.io/webhook/whatsapp - Method:
POST
-
Test by sending a WhatsApp message!
| Command | Description |
|---|---|
/menu |
Show all available commands |
/status |
View your health summary |
/trends |
See health trends (last 6 months) |
/records |
View recent health records |
/medications |
View active medications |
After viewing records, type a number (1-10) to see details:
/records β "1" β Full details of record #1
- PDF: Send PDF file directly
- Image: Take photo of report and send
- Text: Type vitals like
BP: 120/80, Weight: 70kg
"What was my cholesterol last month?"
"Explain record #1"
"Show my blood pressure trend"
"When did I last check my blood sugar?"
βββββββββββββββ
β WhatsApp β
β (User) β
ββββββββ¬βββββββ
β
βββββΌβββββ
β Twilio β (WhatsApp API)
βββββ¬βββββ
β
ββββββββΌβββββββββ
β Mummy Bot β (Node.js + TypeScript)
β βββββββββββ β
β β Express β β (Web Server)
β ββββββ¬βββββ β
β ββββββΌβββββ β
β β Handler β β (Message Router)
β ββββββ¬βββββ β
β ββββββΌβββββ β
β βServices β β (Claude, Twilio, DB)
β ββββββ¬βββββ β
βββββββββΌββββββββ
β
ββββββΌββββββ
β MongoDB β (Data Storage)
ββββββββββββ
- Backend: Node.js, TypeScript, Express
- AI: Anthropic Claude (Haiku/Sonnet)
- Database: MongoDB + Mongoose
- Messaging: Twilio WhatsApp API
- PDF Processing: pdf-parse
- Image Processing: Sharp
- Logging: Winston
- β Input sanitization and validation
- β Rate limiting (20 req/min per user)
- β Twilio signature verification
- β Security headers (XSS, clickjacking protection)
- β Phone number validation
- β Request size limits
- β User data isolation
- β Encrypted MongoDB connections
See SECURITY.md for more details.
# Using Docker Compose (recommended)
docker-compose up -d
# Or build manually
docker build -t mummy .
docker run -p 8000:8000 --env-file .env mummy- Push to GitHub
- Connect to Railway
- Add MongoDB service
- Set environment variables
- Deploy!
See DEPLOYMENT.md for detailed guides for Railway, AWS, DigitalOcean, and more.
# Run in development mode with hot reload
npm run dev
# Build for production
npm run build
# Run linter
npm run lint
# Format code
npm run format
# Run tests
npm testmummy/
βββ src/
β βββ config/ # Configuration management
β βββ handlers/ # Message handlers
β βββ models/ # Database models
β βββ services/ # External services (Claude, Twilio)
β βββ middleware/ # Express middleware (validation, security)
β βββ utils/ # Utility functions
β βββ types/ # TypeScript type definitions
β βββ index.ts # Application entry point
βββ .github/ # GitHub workflows and templates
βββ docs/ # Additional documentation
βββ Dockerfile # Docker configuration
βββ docker-compose.yml # Docker Compose configuration
βββ package.json # Dependencies and scripts
Contributions are welcome! Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.
Mummy is a health tracking tool, not a medical device. Always consult healthcare professionals for medical advice, diagnosis, or treatment. The bot provides information based on your data but does not replace professional medical judgment.
- π Documentation
- π Issue Tracker
- π¬ Discussions
πΊοΈ Roadmap (I won't implement these anytime soon, but feel free to do it yourself with claude code)
- Voice message support
- Medication reminder scheduling
- Export health reports as PDF
- Integration with wearables (Fitbit, Apple Health)
- Multi-language support
- Family-wide analytics dashboard
- Doctor report sharing
I'm in my vibe coding era, bear with me, thanks