The X10e Health Monitoring System is a full-stack application that provides real-time biomarker data monitoring with an AI-powered chat interface. The system helps users track and understand their health metrics through intuitive visualizations and personalized insights.
- Backend: Node.js Express server with WebSocket support and SQLite database
- Frontend: React TypeScript application with Chart.js for real-time data visualization
- Data Generation: Python script for synthetic biomarker data generation and streaming
- AI Integration: AWS Bedrock for natural language interactions about health data
The system monitors several key health biomarkers in real-time:
- Cortisol (μg/dL): Stress hormone that regulates metabolism and immune response
- Lactate (mmol/L): Produced during intense exercise or when oxygen is limited
- Uric Acid (mg/dL): Metabolic waste product associated with gout and kidney function
- CRP (mg/L): C-reactive protein, a marker of inflammation
- IL-6 (pg/mL): Interleukin-6, an inflammatory cytokine
- Body Temperature (°C): Core body temperature
- Heart Rate (BPM): Heart beats per minute
- Blood Oxygen (%): Oxygen saturation level in blood
First, install dependencies for all components:
# Install root dependencies
npm install
# Install backend dependencies
cd backend
npm install
cd ..
# Install frontend dependencies
cd frontend
npm install
cd ..Create a .env file in the root directory with:
VITE_REDIRECT_URI=http://localhost:5173
For AWS integration, you'll need to set up additional environment variables:
AWS_REGION=your_aws_region
AWS_ACCESS_KEY_ID=your_access_key
AWS_SECRET_ACCESS_KEY=your_secret_key
AGENT_ID=your_bedrock_agent_id
AGENT_ALIAS_ID=your_bedrock_agent_alias_id
To start the backend, frontend, and data streaming at once:
npm run dev:allIn one terminal:
npm run backend
# or: cd backend && npm run devIn another terminal:
npm run frontend
# or: cd frontend && npm run devIn a third terminal:
npm run stream-data
# or: cd backend && npm run stream-data- Access the frontend at http://localhost:5173
- Create a user health profile to get personalized insights
- Navigate between the different views:
- Dashboard: Overview of your health metrics
- Live Data: Real-time biomarker measurements with interactive graphs
- Research Data: (Admin only) Access to research papers and data
- Use the Chat interface to ask questions about your health data
The biomarker data streaming supports various options:
cd backend
python synthesize-data.py stream --helpCommon options:
--stream-interval: Time between data points (default: 0.2 seconds)--no-noise: Disable random noise in the data--no-trend: Disable biological trends in the data--duration: Set a time limit for data streaming (in hours)
Example with custom interval:
python synthesize-data.py stream --stream-interval 0.5 --duration 1To generate a batch of data without streaming:
cd backend
python synthesize-data.py batch --duration 60 --rate 10This will create a CSV file with synthetic biomarker data.
The system includes a web scraper for collecting biomarker research papers:
cd backend
python webScraper.pyThis script queries PubMed and arXiv for relevant papers and processes them for the knowledge base.
- Express.js server with REST API endpoints and WebSocket server for real-time data streaming
- SQLite database for storing biomarker readings and health conditions
- AWS Bedrock integration for AI chat functionality
Key components:
server.js: Main server with API endpoints and WebSocket implementationsynthesize-data.py: Python script for generating synthetic biomarker datawebScraper.py: Python script for collecting biomarker research papers
- React with TypeScript and Vite for fast development
- Chart.js with React wrapper for real-time data visualization
- Ant Design for UI components
- Axios for API calls
- WebSocket for real-time data updates
Key components:
App.tsx: Main application layout and routingHealthDashboard.tsx: Comprehensive health metrics dashboardLiveDataGraph.tsx: Component for displaying real-time biomarker dataChatPanel.tsx: AI assistant interface for health inquiries
- Python script generates synthetic biomarker data
- Data is sent to the backend via REST API or directly via WebSocket
- Backend stores data in SQLite database
- Frontend fetches and displays data in real-time using WebSockets
- Chat interface connects to AWS Bedrock for AI-powered health insights
- Real-time Monitoring: Live visualization of biomarker data as it's generated
- Personalized Insights: AI-powered chat assistant for health-related queries
- Comprehensive Dashboard: Overview of all health metrics with trend analysis
- User Health Profiles: Store and manage personalized health information
- Research Integration: (Admin only) Access to biomarker research knowledge base
- Responsive Design: Optimized for both desktop and mobile devices
README.md: This file with overview and setup instructionsSIGNATURES.md: Detailed API and function documentationCONTRIBUTING.md: Guidelines for contributing to the project