A comprehensive full-stack maternal health tracking system built for hackathon demonstration. This prototype allows expectant mothers to log symptoms and vitals, receive risk assessments, and get personalized guidance, while providing clinicians with a monitoring dashboard.
- Symptom & Vital Logging: Track daily symptoms, mood, blood pressure, heart rate, and weight
- Risk Assessment: AI-powered risk analysis with detailed explanations
- Personalized Guidance: Trimester-specific tips and recommendations
- Real-time Alerts: Immediate notifications for critical conditions
- Dashboard: Overview of all patients sorted by risk level
- Risk Monitoring: Identify patients requiring immediate attention
- Auto-refresh: Real-time updates every 30 seconds
- FastAPI: Modern Python web framework
- Pathway: Streaming data processing
- Pydantic: Data validation
- In-memory storage: For demo simplicity
- Next.js 16: React framework with App Router
- TypeScript: Type-safe development
- Tailwind CSS v4: Utility-first styling
- shadcn/ui: Component library
- Python 3.11+
- Node.js 18+
- npm or yarn
-
Install Python dependencies: ```bash pip install -r requirements.txt ```
-
Start the FastAPI server: ```bash uvicorn backend.app.main:app --reload --port 8020 ```
The API will be available at http://localhost:8020
-
Install dependencies: ```bash npm install ```
-
Start the development server: ```bash npm run dev ```
The web app will be available at http://localhost:3000
```bash
docker-compose up --build ```
- Go to Setup page
- Enter patient details (ID:
patient_001, Name: Sarah Johnson, Age: 29, Trimester: 2, Weeks: 22)
Navigate to "Log Symptoms" and enter:
- Symptoms: mild fatigue, back pain
- Mood: happy
- Vitals: BP 118/78, HR 72, Weight 68.5 kg
- Navigate to Risk Assessment
- View low risk status
Log new data:
- Symptoms: severe headache, vision changes, dizziness
- Mood: worried
- Vitals: BP 158/98, HR 95, Weight 68.7 kg
- View elevated risk with detailed explanation
- See risk factors and recommendations
- Navigate to Guidance page
- View personalized trimester-specific tips
- See symptom-based recommendations
- Navigate to Dashboard
- View all patients sorted by risk
- See flagged patients requiring attention
Once the backend is running, visit:
- Swagger UI:
http://localhost:8020/docs - ReDoc:
http://localhost:8020/redoc
``` BloomGuard/ ├── backend/ # FastAPI backend │ ├── app/ │ │ ├── main.py # Application entry point │ │ ├── schemas.py # Pydantic models │ │ ├── risk_engine.py # Risk assessment logic │ │ ├── pathway_pipeline.py # Streaming processor │ │ └── routers/ # API endpoints │ └── tests/ # Backend tests ├── app/ # Next.js pages │ ├── page.tsx # Home page │ ├── setup/ # Patient registration │ ├── log/ # Symptom & vital logging │ ├── risk/ # Risk assessment view │ ├── guidance/ # Guidance cards │ └── dashboard/ # Clinician dashboard ├── components/ # React components ├── lib/ # Utilities and API client └── docs/ # Documentation ```
This is a prototype for demonstration purposes only.
- NOT a medical device
- NOT for clinical decision-making
- NOT HIPAA compliant in current form
- NOT validated for actual patient care
Always consult qualified healthcare professionals for medical advice, diagnosis, or treatment.
- Backend runs on port 8020
- Frontend runs on port 3000
- Data is stored in-memory (resets on restart)
- Auto-refresh on dashboard every 30 seconds
- Color-coded risk levels for quick identification
MIT License - See LICENSE file for details
Built for hackathon demonstration of maternal health tracking concepts.